赞
踩
目录
代码的修改应当自己创建一个分支进行操作,但如果错误地在master分支上进行了修改,且commit了几次,以及push到了远程master分支,现在该如何将将所做的修改记录转移到正确的分支上,以及master版本回退,如何操作?
当前本地分支在master,以下给出操作流程,仅供参考,不同情况略有不同要根据实际灵活应对。
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的了
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的时候要选择正确的远程分支。
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。