SourceTree 重置提交、合并、撤销、回滚
创始人
2024-05-30 22:29:54
0
  • SourceTree重置当前分支到此次提交

使用场景:

  1. 已提交未推送的修改撤销、想把某一次的错误修改全部撤销

  1. 当前发布代码有bug需要切到上次提交发布版本

Git中的HEAD解释

# 使用最新一次提交重制暂存区

git reset HEAD -- filename

# 使用最新一次提交重制暂存区和工作区

git reset --hard HEAD

# 将 commit log 回滚一次 暂存区和工作区代码不变

git reset --soft HEAD~1

  • 合并模式说明:

软合并

软合并是指将此次提交回滚到指定提交位置,但这个过程中会将修改过的文件暂存到暂存区

混合合并

混合合并是指将此次提交回滚到指定的位置,但这个过程中不会将修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区

强行合并

强行合并是指将此次提交回滚到指定的位置,但这个过程中将直接丢弃之前修改的所有文件(因此在选取此种合并时需要考虑清楚,避免一些不必要的麻烦)。

  1. 强行合并

执行完成后,此时会提示有新的更新需要拉取,不要拉取,拉取后又会把之前的拉取到本地,应该执行commit,但又无法再souceTree执行,此时借助终端。

打开终端,cd到项目目录,在当前分支执行git push -f 即可

强推后Git提交会舍弃掉重置之前的提交记录(44444这次提交会被冲掉,最新的提交会变成333这次提交)

  • 如何撤销

强合并后(会有落后xx个版本提示,因为代码已经重置到此次提交,并且拉取按钮那会有更新提示)如果想撤销本次合并,直接点击拉取然后确定即可

  1. 混合合并

  1. 软合并

另外说下回滚和重置提交的区别:

1、回滚——是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候

也就是说刚刚提交代码,没有推送,这时候你发现提交错了,只需要选择本地分支你刚提交的节点上,右击回滚一下即可,这时候本地分支会出现“Revert”的字样,推送按钮会出现提示推送的角标,这时候你可以直接推送一下,远端也不会有变化,只不过是推送一些日志记录或者其他与代码无关的,或者也可以提交好正确的代码后,一起推送。

还有一种情况就是回滚后发现没有错误...(贼尬)...这时候刚写的代码已经没了...那就索性再回滚一次,也就是说撤销刚才的回滚操作,这时候本地分支节点上会出现“Revert 'Revert '”的字样...推送按钮也会出现提示推送的角标,这时候可以仿照上一步后半部分操作。

2、重置当前分支到此次提交——是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...