如何避免与 Visual Studio Git 进行不必要的合并
How to Avoid Needless Merges with Visual Studio Git
目前我们的工作流程要求,当我们要提交到本地分支时,我们必须先从远程分支中获取和拉取,以便更新我们的本地分支。然后我们就可以在本地提交,然后推送到远程。如果我们先提交到本地分支,然后从远程分支拉取更新,Visual Studio 将自动为我们提交合并,无论是否存在冲突更改。我们希望避免不必要的合并。
所以我的问题是,是否有一个选项或操作可以在 VS 中自动执行此操作?您单击的一个操作将首先从远程拉取,更新本地,然后提交,然后推回远程?现在我们正在手动执行所有三个操作,以避免 VS 生成不必要的合并提交。
VS 有一个选项 "Commit and Sync All",其目的似乎是为了我们正在尝试做的事情,但事实并非如此。它只是先提交,然后拉和推,这仍然会产生不必要的合并。
虽然 VS 2017 无法直接将 --rebase 标志传递给 pull 命令,但它会在 pull 期间将配置设置为 rebase 而不是 merge。您可以通过命令行或在 "Team Explorer->Git Settings" 中全局或针对当前存储库进行设置。复选框标记为 "Rebase local branch when pulling"。
希望对您有所帮助。
目前我们的工作流程要求,当我们要提交到本地分支时,我们必须先从远程分支中获取和拉取,以便更新我们的本地分支。然后我们就可以在本地提交,然后推送到远程。如果我们先提交到本地分支,然后从远程分支拉取更新,Visual Studio 将自动为我们提交合并,无论是否存在冲突更改。我们希望避免不必要的合并。
所以我的问题是,是否有一个选项或操作可以在 VS 中自动执行此操作?您单击的一个操作将首先从远程拉取,更新本地,然后提交,然后推回远程?现在我们正在手动执行所有三个操作,以避免 VS 生成不必要的合并提交。
VS 有一个选项 "Commit and Sync All",其目的似乎是为了我们正在尝试做的事情,但事实并非如此。它只是先提交,然后拉和推,这仍然会产生不必要的合并。
虽然 VS 2017 无法直接将 --rebase 标志传递给 pull 命令,但它会在 pull 期间将配置设置为 rebase 而不是 merge。您可以通过命令行或在 "Team Explorer->Git Settings" 中全局或针对当前存储库进行设置。复选框标记为 "Rebase local branch when pulling"。
希望对您有所帮助。