概述
1、多分支同时开发
场景:同时开发一个feature和一个bug,bug分支审核出问题需要修改,而本地却在开发feature分支,已经改了一些文件,怎么先去改bug分支而不影响本地的feature分支开发?
方案:
1) 在本地feature分支上敲git stash,可以将改动全部暂存起来到一个栈中,从而使本地环境恢复成未改动的状态。
2) 切换到bug分支(git check bug-xxx)
3) 修改bug完成,push到远程仓库
4) 切回feature分支,恢复之前保存的那些改动并从栈中删除(git stash pop)
5) 继续开发
2、本地文件恢复,git checkout --
场景:本地已经改了一堆文件,其中某个/些文件是误改的,这部分文件想恢复成未改动的状态。
方案:
1) git status 看哪个是误改的
2) git checkout -- xxx.c 恢复单个文件
3) git checkout -- ./xxx 恢复整个目录
3、代码冲突,git rebase
场景:很多人都提交了merge请求,大家可能改了同个文件,谁比较晚merge就必须解决冲突了。
方案:
1) 如果冲突的文件较少(比如1、2个),直接使用git rebase,将当前分支重新变基到最新的master分支上,好处是无多余commit。
2) 如果冲突的文件较多,或者commit次数也多,建议将master merge到当前分支,坏处是这样会多产生一个commit,好处是可以一次性解决。
3) 关闭当前分支的merge请求,删除远程仓库上该分支
4) 重新push当前分支到远程仓库
5) reopen刚才关闭的merge请求
4、本地误commit
场景:commit敲快了,想撤回一下,调整后重新commit上去。
方案:
1) git reset HEAD^1 撤回当前分支最近一次commit,并保留该次改动
2) git reset HEAD^n 撤回n次commit,并保留该次改动
最后
以上就是文静书本为你收集整理的GIT会遇到的场景问题的全部内容,希望文章能够帮你解决GIT会遇到的场景问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复