首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

"git checkout <filename>"和"git checkout - - <filename>"之间的区别

这两个命令都是Git命令,用于在本地仓库中切换分支或恢复文件。

  1. git checkout<filename>

这个命令用于恢复指定文件的修改。它将丢弃所有对该文件的修改,将其恢复到最近一次提交的状态。

  1. git checkout - - <filename>

这个命令也用于恢复指定文件的修改,但它可以恢复文件的修改,同时保留未提交的修改。它将创建一个新的分支,并将未提交的修改应用到新分支上,然后将指定文件恢复到最近一次提交的状态。

总结:这两个命令都可以用于恢复文件的修改,但它们的使用场景和方式略有不同。如果您想要恢复文件的修改,但不想保留未提交的修改,可以使用第一个命令。如果您想要恢复文件的修改,同时保留未提交的修改,可以使用第二个命令。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

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

55430

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

1.7K30

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.在项目文件夹右键。

1.4K20

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

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

5.1K60

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 .

1.5K30

Git教程 git pull git clone区别

网上看好多人解释pullclone区别,说什么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

2.6K20

gitgithub gitlab区别_gitlabgit区别

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

60210

Git撤销&回滚操作

情况一:文件被修改了,但未执行git add操作(working tree内撤销) $ git checkout fileName $ git checkout ....:文件执行了git add操作,但想撤销对其修改(index内回滚) # 取消暂存 $ git reset HEAD fileName # 撤销修改 $ git checkout fileName 情况四...我们将已被提交到“远程仓库”代码还原操作叫做“回滚”!注意:对远程仓库做回滚操作是有风险,需提前做好备份通知其他团队成员!...> 情况一:撤销指定文件到指定版本 # 查看指定文件历史版本 $ git log # 回滚到指定commitID $ git checkout <filename...HEAD^ $ git push origin master -f 二者区别: revert 是放弃指定提交修改,但是会生成一次新提交,需要填写提交注释,以前历史记录都在; reset 是指将HEAD

1.3K10

gitpullfetch区别_git pullgit clone

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

94130

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 月期间,

1.8K31

Git撤销&回滚操作

**情况一:文件被修改了,但未执行git add操作(working tree内撤销) ** git checkout fileName git checkout ....:文件执行了git add操作,但想撤销对其修改(index内回滚) # 取消暂存 git reset HEAD fileName # 撤销修改 git checkout fileName 情况四:修改文件已被...如果你每次更新线上,都会打tag,那恭喜你,你可以很快处理上述场景二情况 git checkout 如果你回到当前HEAD指向 git checkout 情况一...:撤销指定文件到指定版本 # 查看指定文件历史版本 git log # 回滚到指定commitID git checkout 情况二:...push origin master -f 二者区别: revert是放弃指定提交修改,但是会生成一次新提交,需要填写提交注释,以前历史记录都在; reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃提交记录

2.2K22
领券