Git - 将更改从两台本地计算机推送到主计算机

时间:2017-11-23 09:08:36

标签: git

我在两台不同的机器上进行了更改,它们彼此不同。如何在没有冲突的情况下将它们推送到远程origin/master

我有这个:

Local machine 1: changes A, B
Local machine 2: changes C

如何将它们推送到远程主控器然后再拉回到两台机器上,以便我可以:

Local machine 1: changes A, B, C
Local machine 2: changes A, B, C

2 个答案:

答案 0 :(得分:1)

如果更改之间没有冲突,则获取此历史记录不存在任何问题。

从机器1:

git push --set-upstream origin master

然后在机器2中:

git pull --rebase

如果您在没有 - rebase 的情况下执行git pull,您的历史记录中会有一个合并提交:

本地计算机X:更改A,B,合并提交,C

答案 1 :(得分:1)

如果您可以远程访问计算机2上的repo,则假设所有更改都已提交(A,B和C是现有提交):

机器1上的

  • 从机器2获取并合并更改:git checkout master && git pull machine2 master(假设您已在两台计算机上承诺master,这听起来就像那样)
  • 如果您遇到冲突,请解决它们并继续生成合并提交
  • 可选择验证A,B和C中实现的所有功能是否适用于计算机1
  • 将合并提交推送到您的远程:git push origin master
机器2上的

  • 刷新您的主人:git pull origin master

"没有冲突"如果A,B和C中的更改改变相同的事情,则不可能。 Git在解决可解决的冲突方面做得非常出色,如果它不想为你做这件事你必须亲自调查。