git分支选择错误进行操作后如何调整?

目录

情况说明

调整过程

(1)回退版本且保存工作记录

(2)在正确的分支上更新修改

(3)将master版本回退


情况说明

代码的修改应当自己创建一个分支进行操作,但如果错误地在master分支上进行了修改,且commit了几次,以及push到了远程master分支,现在该如何将将所做的修改记录转移到正确的分支上,以及master版本回退,如何操作?

当前本地分支在master,以下给出操作流程,仅供参考,不同情况略有不同要根据实际灵活应对。

调整过程

(1)回退版本且保存工作记录

1.基于master分支创建并切换到新分支bran_test

git checkout -b bran_test

2.查看一下新增的commit提交记录

git log

3.回退到某一版本,同时保留工作区的更改

git reset --soft 要回退版本的commitID

4.查看这两个版本之间的更改记录

git status

5.将更改记录暂存

git stash save "last_modify_record"

6.再次用git status命令查看,就可以发现是clean的了

(2)在正确的分支上更新修改

1.首先下拉正确的远程分支,这样做是为了保证我们是在最新的版本上操作

git pull origin 远程分支名称

2.查看下是否有新的提交历史

git log

3.(可选)根据情况看回退到某个版本

git reset --hard commitID

注意使用git reset命令时 --hard 参数和 --soft的区别在于后者会保留工作区的更改,而前者是工作区、仓库等全部恢复到指定版本的状态。

4.弹出刚才保存在暂存区的更改记录

git stash pop

此命令后可以发现工作区内容变成了修改后的内容

5.然后就是git add => git commit => git push操作了。

注意git add的时候可能只提交部分修改,你可以使用git add -p(或git add --patch)命令。这个命令会启动一个交互式会话,让你逐个查看文件的修改,并选择性地添加这些修改到暂存区。这样,你就可以只提交文件的部分修改,而不是整个文件的所有修改。

注意push的时候要选择正确的远程分支。

(3)将master版本回退

1.先查看工作状态

git status

2.如果不是clean状态(比如前面git add时只提交了部分修改,还剩了一些未提交的修改就会出现),先暂存起来。暂存起来后通过git status查看就是clean状态了。

git stash save "other_modify"

3.然后切换到master分支。注意如果不是clean状态,checkout将会被拒绝。

git checkout master

4.查看历史提交版本

git log

5.本地master回退到某个版本

git reset --hard commitID

6.(可选)通过强制push将远程master回退,或者在网页上对远程master进行回退


end

你可能感兴趣的:(git,git)