我是靠谱客的博主 文静书本,这篇文章主要介绍GIT会遇到的场景问题,现在分享给大家,希望可以做个参考。

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会遇到内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(176)

评论列表共有 0 条评论

立即
投稿
返回
顶部