SourceTree重置当前分支到此次提交
使用场景:
已提交未推送的修改撤销、想把某一次的错误修改全部撤销
当前发布代码有bug需要切到上次提交发布版本
Git中的HEAD解释
# 使用最新一次提交重制暂存区
git reset HEAD -- filename
# 使用最新一次提交重制暂存区和工作区
git reset --hard HEAD
# 将 commit log 回滚一次 暂存区和工作区代码不变
git reset --soft HEAD~1
合并模式说明:
软合并 |
软合并是指将此次提交回滚到指定提交位置,但这个过程中会将修改过的文件暂存到暂存区 |
混合合并 |
混合合并是指将此次提交回滚到指定的位置,但这个过程中不会将修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区 |
强行合并 |
强行合并是指将此次提交回滚到指定的位置,但这个过程中将直接丢弃之前修改的所有文件(因此在选取此种合并时需要考虑清楚,避免一些不必要的麻烦)。 |
强行合并
执行完成后,此时会提示有新的更新需要拉取,不要拉取,拉取后又会把之前的拉取到本地,应该执行commit,但又无法再souceTree执行,此时借助终端。
打开终端,cd到项目目录,在当前分支执行git push -f 即可
强推后Git提交会舍弃掉重置之前的提交记录(44444这次提交会被冲掉,最新的提交会变成333这次提交)
如何撤销
强合并后(会有落后xx个版本提示,因为代码已经重置到此次提交,并且拉取按钮那会有更新提示)如果想撤销本次合并,直接点击拉取然后确定即可
混合合并
软合并
另外说下回滚和重置提交的区别:
1、回滚——是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候
也就是说刚刚提交代码,没有推送,这时候你发现提交错了,只需要选择本地分支你刚提交的节点上,右击回滚一下即可,这时候本地分支会出现“Revert”的字样,推送按钮会出现提示推送的角标,这时候你可以直接推送一下,远端也不会有变化,只不过是推送一些日志记录或者其他与代码无关的,或者也可以提交好正确的代码后,一起推送。
还有一种情况就是回滚后发现没有错误...(贼尬)...这时候刚写的代码已经没了...那就索性再回滚一次,也就是说撤销刚才的回滚操作,这时候本地分支节点上会出现“Revert 'Revert '”的字样...推送按钮也会出现提示推送的角标,这时候可以仿照上一步后半部分操作。文章来源:https://www.toymoban.com/news/detail-424514.html
2、重置当前分支到此次提交——是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候文章来源地址https://www.toymoban.com/news/detail-424514.html
到了这里,关于SourceTree 重置提交、合并、撤销、回滚的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!