
一个需求,多人一起在 dev 开发 。
有大量无意义 commit 信息。希望合并到 master 只有一个 commit 。
使用压缩提交的话,所有代码的 Author 都变成了同一个人。
有什么办法既压缩多个 commit 成一个,并且还能保留 Author 信息?
1 Goooler 2023 年 9 月 7 日 via Android Co-authored-by: |
2 a6MShNOj4en2EU97 2023 年 9 月 7 日 squash 的时候就像一楼说的那样就可以了 |
3 gyt95 2023 年 9 月 7 日 如果是线上码云、github 那怎么设置 |
4 qjbcnrs OP |
5 Goooler 2023 年 9 月 7 日 IDEA 里面显示的是第一作者,共同作者在提交信息或者 github 网页上可以看到 |
6 zjp 2023 年 9 月 7 日 via Android git 自身就不支持多个提交人 |
7 pagxir 2023 年 9 月 7 日 via Android 这操作没啥意义吧。既然不是同一个人写,就不是同一个问题,遵循一个问题一个 patch 原则那就不要塞一起。既然塞一起就说明不在乎这个 author 了。 |
8 yin1999 2023 年 9 月 7 日 @gyt95 不清楚码云的,GitHub 的 UI 会在使用 squash and merge 的时候自动帮你生成 Co-authored-by 信息 |
9 unco020511 2023 年 9 月 7 日 在 squash 的 commit msg 里带上原作者 |
10 rainbowhu 2023 年 9 月 7 日 如果你想不用 Co-authored-by ,那就`git rebase -i origin/master`,然后手动把各自的修改,单独各合成 1 个 commit 。 也就是两个人会有两个 commit ,三个人会有三个 commit 。不过可能牵扯到调整 commit 顺序,处理冲突之类的,还挺麻烦的。 rebase 还有个问题就是,如果里面新修改里有 merge commit ,会比较麻烦。 虽然会多几个 commit ,但是 rebase 后的提交历史也是很整洁的。 简单点,就是 git squash ,然后 commit 信息里添加 Co-authored-by 了。 |
12 qjbcnrs OP @pagxir #7 因为分支没有拆分到那么细。按照需求拆的。一个需求涉及多个模块,不同模块负责人不同。就导致看起来是一个功能,多个人在开发。 |
13 a6MShNOj4en2EU97 2023 年 9 月 7 日 via iPhone @zhongjun96 gitea 的话我不清楚,但是 GitHub 是可以的,你可以看看 8 楼说的,其实就是加多个受理人 |