编辑:

编辑:

我想知道有什么好方法可以防止某些本地更改合并到 git 中的分支。

具体来说,我经常发现自己想要对源代码控制文件进行本地更改,并在处理其他更改时应用这些更改,但我想避免在稍后与master其他分支合并时被合并。

假设我正在处理feature-branch并做了一些更改。我不希望它们扰乱我待处理的更改,因此我将它们提交为hack-commit-1。然后我做了一些其他更改A,B,...K并将其提交。

有哪些好的选择可以避免将黑客内容提交到主分支?

我可以做的是在与主分支合并之前重新定位到一个新的分支并忽略类似的提交,hack-commit-1但这相当手动,如果没有适当的纪律,很容易忘记或错过这样的提交。

我猜想的另一个选择是致力于private-feature-branch,我会持续cherry-pick致力于feature-branch

还有什么其他选择?如果能提供关于这个主题的资源我将非常感激,因为我发现很难找到。

为了绝对清楚,我不是问忽略文件而是问版本控制中文件的具体更改。

编辑:

我正在添加一个基本示例 repo

A-B <= origin master
   |\C-1-2-D-E-4 <= draft
   |C-D-E <= yes, master
   |1-2-4 <= no

我通常最终会得到类似这样的结果,而且我发现事后将其分离到/分支draft有点麻烦。我可以通过重新定基来实现这一点,但我想知道是否没有更高效、更不容易出错的工作流程。yesno

答案1

您可以git pull --rebase通过以下方式进行默认设置:

  • 将其添加到您的.git/config文件中:

      [branch "master"]
        rebase = true
    

    或者通过命令行:git config branch.master.rebase true

  • 添加全局配置选项,以便在拉取时始终进行重新定基:

      [branch]
        autosetuprebase = always
    

    或者通过命令行:git config --global branch.autosetuprebase always

  • 在中添加别名~/.gitconfig

      [alias]
        pl = pull --rebase
    

    这将允许您输入git pl

相关内容