Git功能分支审查:重写或添加提交?

时间:2015-10-29 21:11:13

标签: git git-flow

假设功能分支具有以下历史记录:

  • (4)改变D使用B和A
  • (3)更改C以使用A
  • (2)添加B
  • (1)添加A

经过审查,决定“B”不应该发展。

你应该

1- rebase -i,重写历史记录/一些代码,以便强制推送后功能分支变为:

  • (7)更改D以使用A
  • (6)将C改为使用A
  • (5)添加A

2-添加一个提交,删除被拒绝的功能并推送,提供:

  • (5)摆脱B
  • (4)改变D使用B和A
  • (3)更改C以使用A
  • (2)添加B
  • (1)添加A

2 个答案:

答案 0 :(得分:2)

force push永远不建议在协作环境中使用,因为它会影响您队友的本地回购,因此我总是尽量避免使用它。

我的偏好通常是在提交历史中保留我们的决定的“历史”:),所以在这种情况下,选项(2)将是我的偏好,特别是因为你可以直接git revert提交#2 < em>(并添加另一个从D中删除它,当然)。

答案 1 :(得分:1)

如果您更喜欢清洁历史或​​更容易 - 那么改变。否则恢复也会这样做。