你推动每一次提交吗?

时间:2012-05-12 15:57:20

标签: git repository push commit

我想,如果有人可以在使用git和远程存储库时给我更多细节。我还没有使用远程存储库。

您可以向本地存储库提交较小的更改,这些更改可能不会太过于破碎。什么被推送到远程存储库?每个本地提交?或者完成的整体工作,然后与其他人的整体工作合并?我认为远程存储库的日志必须令人困惑,如果每个人都推送每次提交。

3 个答案:

答案 0 :(得分:39)

从远程存储库推送和拉取并不像本地提交那么重要。通常每天推拉几次就足够了。就像@earlonrails所说的那样,更频繁的推动意味着更改冲突的可能性更小,但通常情况并非如此。

这样想,通过提交到你的本地存储库,你基本上就是说“我相信这段代码。它已经完成了。它运行了。我已经测试过了。我已经准备好让其他人看到了。”如果你想在每次提交后推送到远程存储库,那很好,但只要你经常这样做就没关系。

本地存储库用于跟踪您的更改以保护您的工作。远程存储库用于将工作分发给所有队友并跟踪每个人的更改。您的队友需要访问您的代码,但通常情况并不紧急,可以等到一天结束或者您想要推送时。

答案 1 :(得分:16)

您可以在方便时推送到遥控器。一次推送一堆提交的唯一问题是您可能需要将更多冲突与更多受影响的文件合并。如果您是git的新手,我建议git ready

远程工作就像当地的回购,但你必须和别人玩得很开心。如果其他人在您推动之前推送到遥控器。然后他们必须在您推动之前将其更改。如果您同时触摸同一个文件,由于他们的更改是在第一个,您需要将两个更改合并在一起。

答案 2 :(得分:8)

我尝试尽可能推送每个本地提交(我使用Git)。我很少在本地提交2次或更多次。否则,就有可能无法解决的冲突风险。

我更喜欢使用rebase而不是merge,以保持历史更加线性。如果我在本地有2个提交A和B(B更旧),并且B与即将发生的更改冲突,在解决了rebase上的coflicts后,我必须检查B,检查编译,可能运行测试,然后只切换到A并推送所有

这就是为什么我喜欢尽快推出我拥有的所有东西。