公司项目终于从 svn 迁移到 git 了,目前碰到一些问题想请教下。

查看 108|回复 9
作者:helee9199   
起因还是之前系统问题,因为服务器 SVN 版本过老, 遂建议迁移 git ,讨论了一下决定可以。
于是我就帮忙架了 gitea
使用都还好 ,目前碰到一个问题是,多人同时改一个项目时频繁出现
Merge remote-tracking branch 'origin/main'
说一下我们的情况, 小公司 小团队,10 开发人员。
项目也比较老,没有模块化,所以不是那种每人负责自己的模块那种。
我一个人的提交线就是一条直线, 但是当有别人提交的时候 很容易就出现
Merge remote-tracking branch 'origin/main' 虽然好像也没啥影响。
因为就这么点人,使用方面就是 线上版本用分支 onlie 和 main 分支做开发版 ,
有什么都往 main 里提。线上有问题就切 onlie 改线上的,等没啥情况了再合到 main 。
但是目前几乎只要提交记录里出现别人 就会出现这个提示。
提交前更新在第一次出现这个问题的时候,也交代了大家,也做了,但是还是出现了。
查了下 好像没什么影响。但是就是看着有点烦。
所以想问下。git 的正确姿势是什么。我们的使用方法有哪些需要改正的?

git, main, merge

renfei   
建议看下 GitFlow 工作流
每人一个分支,然后往基准分支中 merge 合并
基准分支往个人分支中的话,使用变基 rebase
kaf   
建议看下 GitFlow 工作流
jowan   
人不多直接公用一个 dev 分支 再 merge 到 master
提交之前拍一下桌子大喊:哥要 PUSH 了!!
Guaidaodl   
你们这个接近主干开发的流程, 就是所有的开发都是在一个分支上开发.
在这种开发模式下, 开发在 push 之前要先把自己的提交 rebase 到最新的代码上. 具体的命令就是你运行 pull 的时候加上 --rebase 参数
cheng6563   
正常现象
Guaidaodl   
话说回来, 这种开发模式很考验开发人员素质. 建议考虑切换到 Git Flow 的工作流.
awalkingman   
@jowan 桌子:你礼貌吗
newaccount   
别瞎扯 git-flow ,你这又不是多版本发布,别搞那玩意
保持单一主线跟你的线上版本一致,就假设是 online
其他人开的时候从哪里切分支出来都无所谓,准备上线的时候,从 online 切个 testing 出来
准备上线的功能强制 rebase 到这个 testing ,不能做的就 cherry pick ,保持 tesing 是一条直线,不要有奇奇怪怪的合并出现
tesing 去测试,没问题了上线,然后 online 去 merge testing ,合并的时候强制 --ff-only
上面是改了名字的做法,你也可以直接用 master 当做在线分支,重点是做好权限控制,只允许一个人合并到 master
简单的讲:
1. 只有一条线,其他分支都可以删
2. 只有一个人可以合并这条唯一的线,合并时必须 --ff-only
yangzzzzzz   
主分支合并 其他分支只变基到主分支。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部