sourceTree的两种重置恢复提交(后续还会更新其他用处)
一、会在当前分支留下记录
我当前Git有七次记录,我想回滚到第三次提交。
1.找到第三版记录,右键点击 重置当前分支到此次提交---》强行合并-丢弃所有改动过的工作副本
2.找到远程仓库中对应的远端分支,一定要找最新的节点,右键点击 重置当前分支到此次提交---》软合并-保持所有本地改动
3.然后点击提交推送就好啦,这样Git也会留下足迹,代码也会回滚回去。
二、重建一个分支将回滚的代码拉到新分支上
将上次操作的Git回滚到第六个版本
1.找到第六版记录,右键点击 重置当前分支到此次提交---》强行合并-丢弃所有改动过的工作副本
2. 然后在当前分支下新拉一个分支出来 (执行完成后,此时会提示有新的更新需要拉取,不要拉取,拉取后又会把之前的拉取到本地,应该执行commit,但又无法再souceTree执行,此时借助终端。打开终端,cd到项目目录,执行git push -u origin master -f
,其实这种方式也可以,但这里讲只用sourceTree。)
3.这样我们就得到了一个回归到第六版本的分支,不过这是一个新分支,它只会保留选择节点之前的所有代码。
三 Git/SourceTree 清理无效的远程追踪分支
如果在远程版本库上删除了某一分支,假如你的远程仓库名是 origin(注意,一定是仓库名!不是分支名),则使用如下命令先查看哪些分支需要清理:
$ git remote prune origin --dry-run
可以看到, origin远程分支已经失效的分支,执行被清理:
$ git remote prune origin
这样,就完成了无效的远程追踪分支的清理工作。
四 将本地未推送代码退回到暂存或者未暂存状态
方法1:“软合并---保持所有本地改动”——是指本地仓库将会重置到此次提交的节点,并且大于此次节点的本地仓库改动的代码 将会回退到你的文件状态里的暂存区。
方法2:“混合合并---保持工作副本并重置索引”——与软合并类似,不过将会回退到你的文件状态里的未暂存区。
1.当前最新版本是11,我现在提交了一个12但是状态并没有推送,现在我不想提交12了或者我有修改,可以向下方操作,找到最新代码记录右键重置到此次提交,选择上面两种方式的一种,将文件修改后再推上去或者直接丢弃就可以了。
更多推荐
所有评论(0)