Git 不';你不能强迫许多大的合并吗?

Git 不';你不能强迫许多大的合并吗?,git,Git,我正在进入GIT的世界,但GIT似乎有一个巨大的劣势。 因为您将提交到自己的本地存储库,并且只有在多次提交到外部世界之后,才会创建许多大型合并?是的,您可能会发现自己处于这种情况,但这是可以避免的。即使您决定仅在几次(N次)提交后才推动回购,您仍然可以不断地从其他分支机构推动回购,以便始终与其他人正在做的事情相结合。无论如何,Git在合并方面非常出色。一点也不。git中的每个提交都是唯一可识别的,无论它位于哪个回购协议中。因此,合并工作完全按照它们应该的方式进行。Git对冲突解决也有非常好的支持

我正在进入GIT的世界,但GIT似乎有一个巨大的劣势。
因为您将提交到自己的本地存储库,并且只有在多次提交到外部世界之后,才会创建许多大型合并?

是的,您可能会发现自己处于这种情况,但这是可以避免的。即使您决定仅在几次(N次)提交后才推动回购,您仍然可以不断地从其他分支机构推动回购,以便始终与其他人正在做的事情相结合。无论如何,Git在合并方面非常出色。

一点也不。git中的每个提交都是唯一可识别的,无论它位于哪个回购协议中。因此,合并工作完全按照它们应该的方式进行。Git对冲突解决也有非常好的支持,这使得它在合并方面比其他VCS更好。

这主要取决于您决定推送您的代码的频率,以及其他人推送代码的频率。例如,如果您推送一个小的更改,而其他人推送该更改,那么它将不是一个大的合并。但是,如果在本地提交多次之后才进行推送,那么拉送可能是一个大型合并


我希望这能有所帮助。

实际上,在git中几乎所有情况下都有一种解决合并的方法。不是合并,而是重新设置本地存储库的基础,重新安排历史记录。通过使用rebase,规范/原始存储库永远不会被重新安排,也很少有任何合并提交,但本地存储库历史记录会被重新安排,以更紧密地匹配主回购

因此:

所有提交都将是原子的,并且源/主节点将永远不会有任何合并提交

现在,在一种罕见的情况下,重定基址的过程会变得复杂,你会发现自己解决了很多冲突,在这种情况下,你可能想
git-rebase——中止
并退出重定基址的过程,然后进行合并,但我已经几个月没有在这一点上求助于合并了,因此,保持历史的线性并不难

从本质上讲,这是采取破坏性最小的方法。你是说“嘿,我所有的提交都是我添加到本地主分支的提交-之后-其他人放在中心/规范分支中的任何内容都是我的责任,因此-我-将是重新安排我的代码的人。”以这种方式,任何被视为规范的存储库的主分支中的内容都优先,其他人不必处理合并提交,这些提交会为成功推送到主分支的任何内容重写历史

git fetch
git rebase origin/master
// resolve any conflicts (if there are any) by altering your own commits
git rebase --continue
git push