GIT中的冲突解决或冲突避免?

问题描述 投票:3回答:1

问题:几个人如何与GIT合作?是否像SVN一样更新提交或合并默认值?合并时,谁应该作为合并提交的作者出现?

很多背景信息:我正在和另一个人一起写一篇关于LaTeX的论文,我们正在使用GIT进行版本控制。

从一开始我们决定我们都会在主分支上工作,因为我们无论如何只有两个人。

我做了很多提交。然后他做了一个旧版本的提交,并合并了我的最后一个版本和最近的版本(在他的提交之后)。用图片更容易看到:

对我来说,以这种方式进行合并是很奇怪的,如果我没有弄错,他应该先拉,然后提交,合并应该在两个不同的分支之间进行。

最奇怪的是,我的提交在任何时候都不会删除,但内容在最新的提交中显示为新的,并且他作为作者出现。这看起来像一个错误,但说实话,我真的不明白这里发生了什么。

所以问题是:

那是一个错误吗?

我们应该使用分支机构单独工作吗?如果他不把它们推到服务器上,我可能会忽略他的提交。

他是否正确地使用了系统,或者他是否在提交SVN(更新 - >提交)之前完成了拉动?

最后,我做了一个分支,一个提交和一个合并(这还没有在图片中),可能同样的事情将再次发生,因为现在主人更新了,他可能会忽略这些更新,提交,然后合并为作者。

这对我来说不合适,但我不知道它是否正确。

恕我直言:合并应该在将更新推送到共享存储库之前在本地完成,如更新提交方式。

git git-merge git-rebase
1个回答
3
投票

我们应该使用分支机构单独工作吗?

是的:他应该做一个git pull --rebase(对于尚未推出的分支),然后推动他的更改,此时你可以将他的分支合并为一个简单的快进合并。 另见merge vs. rebasesimilar blog post

(来自Git Is Your Friend not a Foe Vol. 4: Rebasing

更一般地说,是的,在推送之前在本地合并。

© www.soinside.com 2019 - 2024. All rights reserved.