分布式开发,多个分支,有时候碰到需求集中太多,拆开上线,新建分支的时候可能不是从master切换过来的,有时候就一堆合并的问题,今天弄git的合并,弄的老眼昏花.
20181228分支1->基于20181127分支
20180108分支2
20180109分支3->改动代码很少
master分支
出现问题原因
- 分支偏多
- 开发的人比较多,出现了冲突只能解决自己的文件冲突,其他人开发的代码,对代码了解的不够准确,不能很好的解决冲突
- 有些分支上删除了文件,git合并的时候删除文件都不提醒一声。
反正就是对git的操作,没有自己想象中的那么熟悉。接下来要好好补补git的知识了,省的合并的时候一头乱麻。
Git常用命令
-
如果合并后发现操作错了,有很多文件丢了,想回到原本的版本。
git reset --hard xxx
-
不仅操作错了,而且把错误的代码上传到了远程仓库,那么要先使用1回退本地版本记录,然后把回退后的版本上传到远程仓库上,强制覆盖。
git push orgion remoteBranch -f
- 合并代码后,要和原先的分支进行比较,以确保没有问题。
# 比较两个版本的大致差异
git diff carpay_branch_20181228_depositOperationOnAppOrderProcessChange origin/carpay_branch_20190108_recoverOrderTypeAndSyschannel --stat
# 比较两个分支的详细差异
git diff carpay_branch_20181228_depositOperationOnAppOrderProcessChange origin/carpay_branch_20190108_recoverOrderTypeAndSyschannel
# 比较两个版本里某一个具体的文件差异
git diff carpay_branch_20181228_depositOperationOnAppOrderProcessChange origin/carpay_branch_20190108_recoverOrderTypeAndSyschannel carpay-api/src/main/java/com/zuche/carpay/alipay/api/preauth/callback/pojo
- 查看某个分支在本地的操作记录。
git reflog --date=local | grep <branchname>
最后
git博大精深,要好好学习啊。平时进行合并的时候尽量减少分支和分支的操作,都围绕着master来操作就会减少很多问题。
网友评论