Git将某些提交保留在拉取请求之外

时间:2017-02-24 19:56:19

标签: git

我有一个Git分支develop,并且在该分支上,有许多提交只是调试语句,不应该在生产中。同时,我想从develop分支创建一个pull请求到我们的feature分支,但我不想包含调试提交。

似乎我做这个的两个选项是(1)创建一个develop-copy分支,从该分支中​​删除相应的提交,并从develop-copy或(2)删除PR来自develop的适当提交,制作公关,然后将提交重新提交回develop。这些都是一种痛苦。

除了这些提交之外,有没有办法只推送一组提交或者有两个分支是彼此的副本?感谢。

3 个答案:

答案 0 :(得分:0)

  

除了这些提交之外,有没有办法只推送一组提交或者有两个分支是彼此的副本?

没有。您只能推送对提交的引用,并且提交由其内容及其父级定义。

老实说,不应该在单独的提交中调试调试语句,而应该弄清楚如何将它们保留下来,但要将它们优化出来用于生产。

答案 1 :(得分:0)

如果您是唯一一个在该分支上工作的人,则另一个选择是rebase it interactively

git checkout develop
git rebase -i
# reorder commits
git push --force

然后,您可以重新排序提交,将调试的提交放在最后

然后你可以从最后一次非调试提交开始创建一个新分支,推送它并从那个新分支中创建你的PR。

答案 2 :(得分:0)

只需执行交互式rebase git rebase master -i,然后从pull请求中删除或fixup您想要的随机提交。

pick fdfb01e Real commit
# pick a382ce3 Debugging some random issue
# pick 02ff8dc Remove debugging code
fixup ddf5e91 Add missing semicolon
pick 73c7e11 Real commit
相关问题