避免冲突和与master合并的正确步骤是什么?

时间:2015-03-17 21:54:41

标签: git

有2个分支:master和mretana

我需要知道为了推动一些变化,我需要采取哪些步骤。

第一种情况:

我需要从master到我的分支mretana合并,因为master是最新的。

这些是我正在遵循的步骤

1 commit my changes
2 push my changes
3 switch to branch master
4 pull origin master
3 switch to branch mretana
4 git merge master

使用这些步骤,如果有人在名为file.js的文件中工作,那么我就会发生冲突,因为我和我的同事正在同一个文件中工作。 这种行为是正确的吗?

第二种情况:

如果我没有合并主人但只上传我的更改:

1 commit my changes
2 push my changes

这样:

1 - 还有其他合并master的方法吗?

2 - 有没有办法避免冲突?

2 个答案:

答案 0 :(得分:2)

直接回答您的问题:

  

这种行为是正确的吗?

这不像你描述的那样。当无法自动合并时会出现冲突(如果选择这样做,则默认情况下是冲突)。它通常发生在不同变更集中编辑同一行时,因此无法自动合并。

  

1 - 还有其他合并master的方法吗?

您与git merge合并。

  

2 - 有没有办法避免冲突?

不要编辑相同的代码行。

答案 1 :(得分:2)

Git可能看起来像魔术,但事实并非如此。它做了很多比旧式版本控制系统更好的东西(我在看你SVN),但在某些方面,它必须依靠人工干预才能理解意外性。冲突只是git对你说“我不知道你打算在这做什么,请帮助我”

1)您经历的过程没有问题。但是,我会指出在合并master之前推送你的更改是不必要的。之所以发生冲突是因为正如其他人所说,你和你的同事已经改变了git无法解决的问题,需要你帮助它理解。有一些工具可以帮助您完成此操作,或者您可以根据需要编辑冲突的文件。

2)避免冲突的方法是在工作时不要触摸与同事相同的代码。即使在考虑周全的代码库中,也不总是可行的,所以只需学习如何处理冲突解决方案。