git pull并解决冲突

Asi*_*har 17 git

我正在学习git,我有一个场景:

  1. 我的同事进行更改并将更改推送给主人.
  2. 我在本地更改我的主人.

到目前为止,根据我的理解,此时我可以:

  1. 拉我的同事工作的主人并解决我最终会遇到的合并冲突.
  2. 创建我本地的备份,克隆主副本的新副本,然后将我的更改合并到主服务器.

我想知道是否有更好的方法来做到这一点.

k0p*_*kus 9

如果远程和本地分支上都有不同的更改,而不是仅仅拉动主服务器git pull,我宁愿这样做:

git pull --rebase
Run Code Online (Sandbox Code Playgroud)

这样可以避免合并提交,并将更改保留在主分支之上.

然而,当不同的人在同一个分支上工作时,你仍然必须解决任何发生的合并冲突,这是一种不好的做法,特别是因为它会导致冲突.

如果进行微小更改,您的应用程序只会应用于顶部.您正在更改历史记录,但只更改本地历史记录,而不是远程记录.

不会需要git push --force.你只要git push它,你习惯了.

通常,您应该处理功能分支并将它们合并回主分支.

在主分支上工作时,还可以通过以下方式使功能分支靠近主分支:

git checkout feature-branch
git rebase origin/master
Run Code Online (Sandbox Code Playgroud)

然而,这里需要git push --force功能分支,因此如果不止一个人在同一个功能分支上工作,应该注意不要使用此策略.


Pat*_*ard 7

一种无需分支或隐藏的简单处理方式:

  1. 在本地暂存/提交更改
  2. 拉遥控器
  3. 此时,您会收到有关任何合并冲突的通知。如果git无法自动解决合并冲突,它将在您设置为默认合并编辑器的任何编辑器中打开两个版本。我推荐BeyondCompare。
  4. 提交您的合并,推送您的合并并提交远程主服务器


小智 5

根据我的经验,最好的方法是:

  1. 当开发新功能时,从主分支克隆一个新分支。始终保持分支与主分支保持同步。
  2. 编写新功能并将其提交到创建的分支后,您可以测试您的应用程序。
  3. 然后将master合并到工作分支中,如果master中有新的提交,则可能会出现合并冲突。解决后-再次测试。
  4. 如果一切正常,请将您的分支合并到主分支。

这样您就可以开发许多新功能,并在需要部署时仅合并可用的功能。祝你好运并检查这个 -> https://www.codeschool.com/courses/try-git