Git:在本地重新基址后重复提交,然后拉
背景: 我有一个功能分支a,它比我的开发分支早一步提交:Git:在本地重新基址后重复提交,然后拉,git,Git,背景: 我有一个功能分支a,它比我的开发分支早一步提交: 3 (develop, origin/develop) | 2 (A, origin/A) some feature branch commit |/ 1 some commit 然后我在develop上重新设置了A的基础(git checkout A,git-rebase-develop),因此我得到: 2' (A) some feature branch commit | 3 (develop, origin/deve
3 (develop, origin/develop)
| 2 (A, origin/A) some feature branch commit
|/
1 some commit
然后我在develop上重新设置了A的基础(git checkout A
,git-rebase-develop
),因此我得到:
2' (A) some feature branch commit
|
3 (develop, origin/develop)
| 2 (origin/A) some feature branch commit
|/
1 some commit
现在我不能再将A
推送到origin
,因为Git将拒绝非快进提交。它告诉我先拉遥控器
当我这样做,然后推动,我结束了以下历史:
4 (A, origin/A) merged origin/A into A
|\
2'| some feature branch commit
| |
3 | (develop, origin/develop)
| 2 (origin/A) some feature branch commit
|/
1 some commit
最后,我得到了一个包含两次提交的2
的历史记录——虽然它们做的是相同的事情,但在技术上是不同的提交
问题
A
时,可以push--force
<代码>源代码/A历史记录将被您的A
版本覆盖。请注意,这将需要其他开发商在其回购协议中进行手动干预删除远程分支并重新发布新的重定基础分支。如果您团队的其他成员可能已经删除了您的分支“A”,请让他们知道删除该分支并重新发布一个新版本。您不能在A上重新开发基础吗?您可以改为进行git合并吗?可能是重复的。如果您这样说,听起来很简单。对于JBoss 7 GitHub repo,他们决定不希望历史上出现合并,因此,所有分支都重新设置了基础。所以每个特性分支都需要这样处理,子提交者只需要在这个分支上进行同步(重新设置基础)。很容易弄得一团糟。。。。如果他们(可能)在那个分支上工作,告诉他们在你刚刚重定基础的分支上重定基础。