Git 如何使用远程分支更新当前功能分支?
通常,在开发项目中,我们从主分支创建一个功能分支,将更改提交到功能分支,并向主分支提出请求 如果开发工作应该持续更长的时间,如何防止功能分支从主分支过时Git 如何使用远程分支更新当前功能分支?,git,Git,通常,在开发项目中,我们从主分支创建一个功能分支,将更改提交到功能分支,并向主分支提出请求 如果开发工作应该持续更长的时间,如何防止功能分支从主分支过时 在这种情况下,如何防止从主分支提取时发生冲突?如果您在功能分支上进行了提交,并且您的团队碰巧也在主分支上提交了一些内容,那么您别无选择,只能将最新的更改提取到主分支,然后从功能分支提取,您可以: git merge master 或 git rebase master -i 如果您没有使用rebase的经验,那么我建议您首先使用rebase
在这种情况下,如何防止从主分支提取时发生冲突?如果您在功能分支上进行了提交,并且您的团队碰巧也在主分支上提交了一些内容,那么您别无选择,只能将最新的更改提取到主分支,然后从功能分支提取,您可以:
git merge master
或
git rebase master -i
如果您没有使用rebase的经验,那么我建议您首先使用rebase,并将主功能合并到您的功能分支中。这将集成master的所有更改。它还将在您的功能分支上创建一个额外的合并提交。假设您正在处理跟踪远程主分支的功能分支。如果您的团队成员向远程主分支添加了一个新的提交,并且您希望将该提交添加到您的功能分支,那么您需要遵循以下步骤以使您的功能分支保持最新 步骤1:检查是否有新的提交给主机
git fetch
或
fetch命令将为您提供有关远程存储库中更改的信息(如添加的新分支等)-p
将为您提供相同的信息,但它将提供有关团队成员出于任何正当理由删除的远程分支的信息。请始终记住,fetch不会对本地存储库进行任何更改。它仅显示有关远程存储库中所做更改的信息
步骤2:检查您的功能分支状态(不一定)
它将向您显示您在master之后的提交次数
git fetch
步骤3:如果您的功能分支在一个或多个提交之后,则将远程主分支重新设置为您的功能分支
git rebase origin/master
你也可以这样做
git rebase
由于您正在跟踪远程主分支,因此它将直接重新设置源/主分支的基础。但是我建议您使用第一种方法,明确地说,我需要将origin/master重新设置为我当前的本地存储库
在我看来,这是使您的功能分支最新的最好方法
决不在您的本地存储库中将源代码/主代码合并到您的功能分支git merge
,因为它将在您的本地存储库中添加一个额外的合并提交,那么您的功能分支将在本地有两个提交,一个是您的功能分支提交,另一个是合并提交。因此,当您将同一个分支推送到远程时,它将添加两个提交,而不是一个提交。通常,这不会给出提交的干净历史记录
您需要了解两个工作流,一个是重设基础工作流,另一个是合并工作流。我从来没有使用git pull或git merge来更新我的功能分支,我认为这是一种标准的方法。我建议您学习Rebase工作流。
git rebase