首页
学习
活动
专区
圈层
工具
发布

彻底知道git checkout filename 命令,首先你的知道git存储结构。

彻底知道git checkout filename 命令, 首先你的知道git存储结构。...回到bash窗口,尝试用 git checkout -- file 命令恢复状态,结果报错: 说明没有add,还想checkout,没有什么意义可言,因为既不在暂存区,也没有提交,所以就没有所谓的恢复...回到bash窗口,尝试用 git checkout -- file 命令恢复状态,啥也没报。Unix哲学是没有情况就是好情况。...其实我也不知道为啥要这样,感觉和前面步骤相同比较好一点。。...打开 one.txt ,发现添加的那一行没了,内容中又只剩下 "One" 结论:必须要先add才存在恢复一说。 checkout 可以理解为“切回某个文件”的意思。

20710

【Git】Git 版本管理 ( 补充提交版本 git commit --amend | 版本库提取文件 git checkout -- filename | 删除文件 git rm )

文章目录 一、补充提交版本 git commit --amend 二、版本库提取文件 git checkout -- filename 三、删除文件 git rm 一、补充提交版本 git commit...git status 查询 , 发现提交成功 ; 二、版本库提取文件 git checkout – filename ---- git checkout -- filename 命令的作用是 , 从版本库中取出...filename 对应的文件 , 然后使用该文件覆盖当前的 filename 文件 ; 将 file1.txt 文件进行修改 , 第二行添加一排感叹号 , 但是不添加暂存区 , 也不提交到版本库 ;...执行 git checkout -- file1.txt 命令 , 会从版本库中取出最近一次提交的 file1.txt 文件 , 并使用该文件覆盖当前目录的 file1.txt 文件 ; 注意..., 该操作会覆盖掉当前的 filename 文件 , 如果当前 filename 文件有改动 , 但是没有提交 , 一旦执行该命令 , 该文件就会永久被删除 ; 三、删除文件 git rm ---- 将

84730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    理解 git checkout 与 git reset 的联系和区别

    实际场景中,开发者可通过 git checkout 在多个分支之间快速切换或恢复遗漏文件,利用 git reset 对本地提交进行修正或理清暂存状态,从而灵活管理版本历史。...git checkout 的核心作用切换分支与 HEAD 的移动git checkout 用于将当前 HEAD 指向指定分支或标签,使得工作区与暂存区同步该分支对应的提交快照。...git checkout 与 git reset 的联系与区别HEAD 与分支指针的关系git checkout 通过移动 HEAD 来指向目标分支或提交,而该分支指针本身保持不变;git reset...对工作区和暂存区的影响git checkout 在默认分支切换模式下,仅更新工作区和暂存区以匹配目标提交,不会改变分支历史;在检出文件模式下,只对指定文件恢复,不动其他文件。...# 场景五:彻底废弃最近的提交和所有未提交改动git reset --hard HEAD~1# 当前分支指向上一个提交,工作区与暂存区均回退至该提交状态。

    60710

    Git之撤销修改 git checkout -- file、git reset HEAD file 的使用

    ") 你可以发现,Git会告诉你,git checkout -- file可以丢弃工作区的修改: $ git checkout -- readme.txt 命令git checkout -- readme.txt...意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况: 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是readme.txt...git checkout -- file命令中的–很重要,没有--,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。...use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard...我们后面会讲到远程版本库,一旦你把stupid boss提交推送到远程版本库,你就真的惨了…… 小结 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令: git checkout

    2K30

    git checkout到新的分支之后原来未提交的代码找回

    git checkout时遇到的问题 当我们使用git进行代码版本管理时,如果本地有多个并行开发的需求的话,我们会时不时地切换不同的分支。...当我们基于当前分支做了一些改动,但是并没有执行git commit命令的话,这时如果我们想直接git checkout到另外的分支,那么idea就会弹窗提醒我们,选force checkout或者smart...两者有何不同 git checkout如果未提交本地代码。则会提示你选force checkout或者smart checkout。...smart checkout会把本地修改的代码先保存到statsh中,再checkout分支。...不慎点击force checkout后如何找回 force checkout后可以通过以下步骤找回丢失的代码 1.在项目文件夹右键。

    3.2K20

    shell 1>&2 2>&1 &>filename重定向的含义和区别

    shell 1>&2 2>&1 &>filename重定向的含义和区别: 当初在shell中, 看到”>&1″和”>&2″始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出....补充下, 输出不只1和2, 还有其他的类型, 这两种只是最常用和最基本的. > 是重定向符,就是把前面输出的内容重定向到后面指定的位置,比如(例1): echo "一些内容" > filename.txt...> 前是可以加数字来说明把什么内容重定向到文件中,默认是把标准输出重定向到文件中,所以下面这个例子和上面那个是一样的(例2): echo "一些内容" 1> filename.txt 如果是错误信息就不会输出到...ls命令查询时错误信息会输出到 2(stderr),但我们指定的是把1重定向到filename.txt,所以上面命令执行完后,filename.txt中是没有内容的。...&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中。

    5.8K60

    Git教程 git pull 和 git clone的区别

    网上看好多人解释pull和clone的区别,说什么pull是更新本地代码,clone是本地从无到有的过程,但有一点没提到,恰好我今天又犯了这个问题,因为我原来都是直接从远程仓库pull,今天突然发现发现...---- 使用方法 有权限的仓库 本地无代码 git pull git clone 有权限的仓库 本地有代码 git pull 无权限的仓库 本地无代码 git clone 无权限的仓库 本地有代码...因为我平时下拉代码都是直接git pull。 1.1 我有权限的仓库 我有权限的仓库指的是我自己的,或者团队中我可以使用的仓库。 要使用git pull首先你要确定已经连接远程仓库。...接上边的说,意识到使用git clone之后,我删除了刚才的HTTPS连接远程仓库,然后直接git clone,代码成功下载下来了。...我删除了上边的https连接远程仓库的方法 git remote -v用于查看你本地仓库都连接了哪些远程仓库,如果连接了会显示仓库代号和连接方式,我这里输出空白,就是没连接任何远程仓库的状态 git clone

    4K20

    git和github gitlab的区别_gitlab和git区别

    大家好,又见面了,我是你们的朋友全栈君。 GitHub是在线代码仓库,全世界只有GitHub一家,大家把代码存储在人家的服务器上。...Gitlab相当于小型的GitHub,你可以在本地搭建一个属于你自己的类似GitHub仓库,让小伙伴把代码存储在上面,这样代码只有你们几个人能看见,但是你要存在GitHub上,全世界都能看见 git 是一种版本控制系统...,是一个命令,是一种工具 gitlib 是用于实现git功能的开发库 github 是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放 gitlab 是一个基于git实现的在线代码仓库软件...,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.1K10

    Git学习之旅 - 深入了解git checkout命令

    :git checkout[-m][[-b|--orphan]<new_branch>][<start_point>] 上面列出的第一种用法和第二种用法的区别在于,第一种用法在命令中包含路径...新分支和我们熟悉的master分支没有什么实质的不同,都是在refs/heads命名空间下的引用。关于分支和git checkout命令的这个用法会在具体介绍。...命令:git checkout HEAD     同上 命令:git checkout -- filename     用暂存区中filename文件来覆盖工作区中的...命令:git checkout branch -- filename     维持HEAD的指向不变。用branch所指向的提交中的filename替换暂存区和工作区中相应的文件。...注意会将暂存区和工作区中的filename文件直接覆盖。 命令:git checkout -- . 或写作 git checkout .

    2.2K30

    git的pull和fetch区别_git pull和git clone

    大家好,又见面了,我是你们的朋友全栈君。 git fetch和git pull都可以将远端仓库更新至本地那么他们之间有何区别?想要弄清楚这个问题有有几个概念不得不提。...diff tmp //来比较本地代码与刚刚从远程下载下来的代码的区别 git merge tmp //合并temp分支到本地的master分支 git branch -d temp //如果不想保留...在不指定分支时通常默认为master (3)git fetch origin dev 指定远程remote和FETCH_HEAD,并且只拉取该分支的提交。...git pull : 首先,基于本地的FETCH_HEAD记录,比对本地的FETCH_HEAD记录与远程仓库的版本号,然后git fetch 获得当前指向的远程分支的后续版本的数据,然后再利用git merge...所以可以认为git pull是git fetch和git merge两个步骤的结合。

    1.5K30

    git reflog 和 git log 的区别

    git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作), git log 则不能察看已经删除了的commit记录 具体一个例子...:git cherry-pick 63ee781 Git log 常用选项 选项 说明 -p 按补丁格式显示每个更新之间的差异 –stat 显示每次更新的文件修改统计信息 –shortstat 只显示...可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式) 限制输出长度 除了用 -n 来限制输出 log 的条数,还可以用 --since 和 --until...-S 列出那些添加或移除了某些字符串的提交。 可以在 git log 选项的最后指定它们的路径。因为是放在最后位置上的选项,所以用两个短划线 – 隔开之前的选项和后面限定的路径名。...列出所有最近两周内的提交 $ git log --since=2.weeks 想找出添加或移除了某一个特定函数的引用的提交 $ git log -Sfunction_name 2018 年 4 月期间,

    2.1K31
    领券