我想知道有什么好方法可以防止某些本地更改合并到 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
有点麻烦。我可以通过重新定基来实现这一点,但我想知道是否没有更高效、更不容易出错的工作流程。yes
no
答案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
。