master -> 本地分支 a -> a_fix1 -> merge test -> 解决完冲突
本地分支 a -> git checkout a_fix 文件(将 a_fix1 修复号的文件放到 a) -> commit
a -> a_fix2 -> merge test
a_fix2 还是有冲突
这是哪出了问题,test 是从远程拉回来的,包含了所有人提交的代码, 现在服务器测试环境合并我的 a 分支一直冲突
1
privatetan 2023-03-30 11:26:40 +08:00
建议整一个 a_test 分支,用于解决完冲突后合并到 test 环境
|
2
iyiluo 2023-03-30 11:31:13 +08:00
没看懂,你负责的 a 分支在提交前先同步最新的代码,在本地解决好冲突再提交。可能 a 分支的代码已经不是最新的
|
3
fangwenxue OP @privatetan test 远程分支没有权限
|
4
fangwenxue OP @iyiluo
我有 b a 分支 都是基于 master 的,都改了同一个文件, test 先 merge 了 b a 是新开发的分支,没有 b 的代码 这时候 test 再 merge a 就冲突 我解决冲突是 a 上面弄了临时分支 去合并 test 解决完冲突 在把解决完冲突的文件 放到 a a 在提交 但 test merge a 还是冲突 |
5
lixile 2023-03-30 11:58:52 +08:00
。。。你为什么会以为文件一致就不会冲突
git 记录是基于改动的 你应该把 master 上关于 a_fix 文件的修改 commit id 用 cherry-pick 到 a 分支上 |
6
CEBBCAT 2023-03-30 12:54:51 +08:00
git log --oneline --graph --decorate --all
pls |
7
fangwenxue OP @lixile
现在是 test merge a 冲突了,master 是正常的 test 里面包含了很多正在测试的分支代码 如果用 cherry-pick 到 a 那 a 就有 test 代码,a 上线的话就把 test 还不能上线的代码搞到线上了 |
8
lixile 2023-03-30 14:04:25 +08:00
@fangwenxue 你们 commit 不是按功能或者按组件划分的? 无论是 test 还是 master 目前仅需要部分 a_fix 文件的改动
仅需要 cherry-pick 这部分改动 不会引入其他的 如果你们 commit 本身就是混乱的 那当我没说 |
9
privatetan 2023-03-30 14:15:13 +08:00
@fangwenxue 不需要有 test 分支的权限,用你开发分支 merge test 分支 解决冲突后 push 到新的 a_test 分支就好了
|
10
fangwenxue OP @privatetan 公司有个运维系统,分支功能提测后,就不能变了
我可以 push 到 a_test 但运维系统 test 不会合并 a_test 只会合 a |
11
fangwenxue OP @lixile 几十号开发,每天的 commit 数不清。乱的很,各种代码呗合并没了
|
12
privatetan 2023-03-30 14:47:27 +08:00
@fangwenxue 提 pr 将 a_test 合到 test 也不行么
|
13
fangwenxue OP @privatetan 只能合到本地 test 远程不行
|