Git:如何使本地特性分支随着开发人员中所做的更改而更新?

Git:如何使本地特性分支随着开发人员中所做的更改而更新?,git,branch,Git,Branch,我一直遵循此指南来处理分布式git项目:。它一直运作良好,但现在我遇到了困难。我已经创建了一个本地要素分支。我希望使此功能分支与dev中所做的最新更改保持同步。这可能吗?我对此进行了研究,发现我可能需要使用rebase。但是有太多的选择,我不知道我需要使用哪一个。我该怎么做呢?在功能分支上运行git-rebase-dev应该可以做到这一点(如有必要,首先从源代码更新本地dev) 这将把您的更改从特性分支重放到dev上,然后将特性头设置为新历史的头 注意:仅当您的功能分支提交尚未推送时才重设基础。

我一直遵循此指南来处理分布式git项目:。它一直运作良好,但现在我遇到了困难。我已经创建了一个本地要素分支。我希望使此功能分支与
dev
中所做的最新更改保持同步。这可能吗?我对此进行了研究,发现我可能需要使用
rebase
。但是有太多的选择,我不知道我需要使用哪一个。我该怎么做呢?

在功能分支上运行
git-rebase-dev
应该可以做到这一点(如有必要,首先从源代码更新本地dev)

这将把您的更改从特性分支重放到dev上,然后将特性头设置为新历史的头

注意:仅当您的功能分支提交尚未推送时才
重设基础。它将重写您的历史记录。有一些与
重设基础相关的风险,这些风险可能值得,也可能不值得。

定期:

λ git checkout dev
λ git pull origin dev
λ git checkout myfeaturebranch
λ git merge dev

因此,当需要将我的功能分支合并回
dev
时,我不必担心任何合并冲突?正确,尽管折衷是必须在上面的
git merge dev
步骤中解决合并冲突。这样做与Derek S建议的重新调整相比有什么好处吗?重新调整时,冲突绝对是一场噩梦。在没有冲突的情况下,重定基址为您提供了一个良好的历史记录,但一旦有冲突,我就开始运行。如果我理解,您将定期将
dev
合并到您的功能分支中。做相反的事不是总是更好吗?将您的功能分支合并到本地开发人员中,然后将结果重命名为新的本地功能。我认为这是更好的方法,但您应该仅在功能分支提交未被推送的情况下执行。这就是git文档所说的。@DaBlick谢谢,我已经更新了答案,将此注释包括在内。