gpt4 book ai didi

git pull 并解决冲突

转载 作者:IT王子 更新时间:2023-10-29 00:59:54 26 4
gpt4 key购买 nike

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

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

据我所知,此时我可以:

  1. pull 我的同事工作的母版并修复我最终会遇到的 merge 冲突。
  2. 创建本地备份,克隆主服务器的新副本,然后将我的更改 merge 到主服务器。

我想知道是否有更好的方法。

最佳答案

如果远程和本地分支上都有不同的更改,而不是通过 git pull pull master ,我宁愿这样做:

git pull --rebase

我什至在我的默认配置中有它,所以如果 git pull 需要,它总是会做一个 rebase :

git config --global pull.rebase true

rebase 避免 merge 提交并将您的更改保留在当前远程分支之上。

然而,当不同的人在同一个分支上工作时,您仍然必须解决任何发生的 merge 冲突,这是一种不好的做法,尤其是因为它会导致冲突。

(还要注意,在 rebase 的范围内,theirsours 的含义是互换的。)

如果有微小的变化,你的只是应用在顶部。

您正在更改历史记录,但只是您的本地,而不是远程的。

不需要 git push --force。您只需按习惯 git push 即可。

一般来说,您应该处理功能分支并将它们 merge 回主分支。

在处理功能分支时,还可以通过以下方式使功能分支靠近 master:

git checkout feature-branch
git fetch && git rebase origin/master

但是这里需要 git push --force 功能分支,所以如果不止一个人在同一个功能分支上工作,应该小心不要使用这种策略。

如果想使用 rebase 和推送强制,请考虑使用 git push --force-with-lease 而不是 git push --force 因为它可以防止意外删除其他人的在 Remote 上提交。

关于git pull 并解决冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35025587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com