Git 忘记切换分支,误将代码提交到了别的分支!

来源:互联网 发布:迅捷数据恢复注册问题 编辑:程序博客网 时间:2024/06/07 22:32

情景说明: 由于同时做几个不同的task , 以及一些其他原因, 在做一个新的task时, 忘记切换分支, 一直等到做完提交了, 才发现push 的时候不是在远端 new 了一个新的branch(由于我修改的task没有文件交集,亦没有用-f ), 于是, 有了下面的内容.

1. 回滚提交 reset

首先我想到的是 reset 命令将我最近一次提交放回暂存区, 并取消此次提交.

git reset HEAD~1

2. 将被跟踪的内容stash, 新建的文件不用担心, 依旧是未跟踪文件.

git stash 

3. 创建并切换到新分支

git checkout -t origin/develop -b issue-999

5. 将stash的内容pop出来

git stash pop

6. 提交和推送了

git add 多个文件名用空字符隔开 

git commit -m "提交信息"

git push origin issue-999 [第一次不必强制提交]

7. 但原来的分支998依旧是多了一次提交, 这时候需要切回去, 提交一次

git checkout issue-998 

git log [看日志, 由于reset的缘故, 本地的提交已经不见了, 但远端依旧存在]

git push origin issue-998 -f 

好了, 998 还是那个998了

阅读全文
1 0
原创粉丝点击