发送拉取请求时如何在Git中保留本地提交

时间:2014-01-24 08:39:59

标签: git

我目前正在开发一个共享git存储库,其中提交新代码的主要方式是通过pull请求。我想要做的是能够从任何分支机构提供本地提交,没有必须在我向上游提出拉取请求时发送这些提交。我目前的解决方案涉及存储“切换”开启和关闭这些提交,但这并不理想。

有没有更好的方法告诉Git在执行拉取请求时忽略某些提交?新文件很容易忽略,但修改文件的更改非常麻烦......谢谢!

1 个答案:

答案 0 :(得分:0)

你应该做本地分支机构,一个用于你的“私人”工作,一个用于你的“拉动请求”或“公开”工作。

创建一个私有分支,并提交您想要的任何内容

git checkout -b private
[edit, ...]
git add / commit / rebase / ...

创建一个公共分支(来自主人)

git checkout master
git checkout -b public

从您的私人分支获取您要发布的更改(例如)

git merge private public
git cherry-pick <sha-1 from private>
....

最后从公共分支创建拉取请求。

有关详细信息和其他分支策略,请参阅Git workflows

希望这有帮助