我是靠谱客的博主 文静书本,最近开发中收集的这篇文章主要介绍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会遇到的场景问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部