Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git-将更改从两台本地计算机推送到主计算机_Git - Fatal编程技术网

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

Git-将更改从两台本地计算机推送到主计算机,git,Git,我在两台不同的机器上有变化,它们彼此不同。如何将它们推送到远程源站/master,而不发生冲突 我有这个: Local machine 1: changes A, B Local machine 2: changes C 如何将它们推送到remote master,然后再拉回到两台机器上,以便: Local machine 1: changes A, B, C Local machine 2: changes A, B, C 如果更改之间没有冲突,则获取此历史记录不存在任何问题 从机器1:

我在两台不同的机器上有变化,它们彼此不同。如何将它们推送到远程
源站/master
,而不发生冲突

我有这个:

Local machine 1: changes A, B
Local machine 2: changes C
如何将它们推送到remote master,然后再拉回到两台机器上,以便:

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

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

从机器1:

git push --set-upstream origin master
然后在机器2中:

git pull --rebase
如果执行git pull而不执行--rebase,则您的历史记录中将有一个合并提交,如下所示:


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

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

在机器1上:

git push --set-upstream origin master
  • 从机器2获取并合并更改:
    git checkout master和&git pull machine2 master
    (我假设您在两台机器上都承诺了
    master
    ,听起来是这样的)
  • 如果您遇到冲突,请解决它们并继续生成合并提交
  • (可选)验证在A、B和C中实现的所有功能是否在机器1上工作
  • 将合并提交推送到远程主机:
    git推送源主机
在机器2上:

git pull --rebase
  • 刷新主机:
    git-pull-origin主机

如果A、B和C中的更改改变了相同的内容,“没有冲突”是不可能的。Git在解决可解决的冲突方面做得非常出色,如果它不想为您解决冲突,那么您必须亲自调查。

推一台机器,推另一台(合并),推另一台,推第一台。我是否需要从第一台机器提交更改,然后从另一台机器提交更改。。我试过了,但我遇到了冲突。