当我尝试在Git中重新设置基址时,我做错了什么?
我最近在一家新公司工作,团队选择将新的变更重新定位到开发分支上,而不是将变更合并到开发分支中。我原以为我明白这是怎么回事,但我经常遇到问题,以至于我不再确定我明白了,也无法找出我做错了什么 典型情况:当我尝试在Git中重新设置基址时,我做错了什么?,git,atlassian-sourcetree,rebase,git-rebase,Git,Atlassian Sourcetree,Rebase,Git Rebase,我最近在一家新公司工作,团队选择将新的变更重新定位到开发分支上,而不是将变更合并到开发分支中。我原以为我明白这是怎么回事,但我经常遇到问题,以至于我不再确定我明白了,也无法找出我做错了什么 典型情况: 如果“开发”,我会为我的功能创建一个分支 我将更改提交到我的功能分支。到了合并到develop的时候,我已经在我的分支上提交了3次,在develop上提交了5次 我在源代码树中右键单击“开发”,然后选择该选项以将我的更改重新定位到源代码树上 没有冲突。git图看起来和预期的一样正确,只是我的分
- 如果“开发”,我会为我的功能创建一个分支
- 我将更改提交到我的功能分支。到了合并到develop的时候,我已经在我的分支上提交了3次,在develop上提交了5次
- 我在源代码树中右键单击“开发”,然后选择该选项以将我的更改重新定位到源代码树上
- 没有冲突。git图看起来和预期的一样正确,只是我的分支说我现在领先5,落后3(上面的数字),这显然阻止了我前进
您必须首先更新本地开发分支(
git-checkout-develope;git-pull
),然后重新设置功能分支的基础(git-checkout-feature;git-rebase-develope
),然后才能将其推送到远程目录。可以从命令行尝试吗?,也许你会看到:重新定位到origin/develope
可能更好develop
是一个本地分支,它位于您上次在该分支上的本地工作留下的地方origin/develop
是您上次谈论回购时,在origin
repo上的分支,无论是获取或推送,还是包括获取的便利操作之一,如克隆或推送。如果您已经推送,则重定基址将始终显示“#后,#前”。你在改变历史。@evolutionxbox我想这就是答案。因此,为了重新设定基准,我必须还没有推动我的提交。这很有道理,您可以随时重新设置基址,但如果您已经推送了该分支,则需要强制推送重新设置基址的更新。