Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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
Php Git重新基址主冲突_Php_Git_Merge_Webserver_Rebase - Fatal编程技术网

Php Git重新基址主冲突

Php Git重新基址主冲突,php,git,merge,webserver,rebase,Php,Git,Merge,Webserver,Rebase,我有一些冲突的分支时,重新调整主到它 情况是: 分支主机,进行一些更改,提交所述更改。 结帐师傅,做一些更改,提交所说的更改,结帐分行-1。 尝试重新设置主冲突的基础 现在我有其他开发人员以类似的方式工作 Master在所有repo上保持同步,包括web服务器,我不希望Master的历史被更改 如果我解决了过去与某个点冲突的重基冲突,如果我签出主控形状并将其与分支合并,主控形状的历史会被更改吗?或者这些冲突解决方案会应用于我合并的所有工作的顶部吗?如果你重基,无论重基到哪个分支,您正在更改存储库

我有一些冲突的分支时,重新调整主到它

情况是:

分支主机,进行一些更改,提交所述更改。 结帐师傅,做一些更改,提交所说的更改,结帐分行-1。 尝试重新设置主冲突的基础

现在我有其他开发人员以类似的方式工作

Master在所有repo上保持同步,包括web服务器,我不希望Master的历史被更改


如果我解决了过去与某个点冲突的重基冲突,如果我签出主控形状并将其与分支合并,主控形状的历史会被更改吗?或者这些冲突解决方案会应用于我合并的所有工作的顶部吗?

如果你重基,无论重基到哪个分支,您正在更改存储库的历史记录。这个想法是,当其他开发人员在你推后从say origin拉master时,他们的回购协议也将是最新的

需要明确的是:在重定基址时合并冲突不会改变master的历史记录。将重定基址作为合并方法

如果不想更改主控形状的历史记录,则不能作为合并方法重新设置基准。默认的git合并行为对您来说应该可以正常工作,不管是否存在冲突

git checkout master
git merge branch-1

如果重新设置基础,无论重新设置基础到哪个分支,都会更改存储库的历史记录。这个想法是,当其他开发人员在你推后从say origin拉master时,他们的回购协议也将是最新的

需要明确的是:在重定基址时合并冲突不会改变master的历史记录。将重定基址作为合并方法

如果不想更改主控形状的历史记录,则不能作为合并方法重新设置基准。默认的git合并行为对您来说应该可以正常工作,不管是否存在冲突

git checkout master
git merge branch-1

想象一下你现在的情况:

- A - B - C - D
   \          ^
    - X - Y   master
          ^
          branch1
运行git签出branch1;git rebase master将从branch1移动提交,以便将它们应用到master分支的顶部:

- A - B - C - D - M
   \            / ^
    - X - Y - -   master
          ^
          branch1
这不会更改master,但会以两种方式更改branch1:

通过将commit X的父级从A更改为D,您将更改commit X的ID,事实上,就Git而言,它现在是一个全新的commit,因为X有一个新的ID,Y有一个新的父级,所以Y也会获得一个新的ID,如果分支上有更多的提交,依此类推。 您需要执行的任何冲突解决都将更改提交的内容。 如果您已经将branch1推送到远程存储库,那么重新设置其基础是一个非常糟糕的主意;改变已经共享的历史只会导致问题

假设您还没有按下branch1,那么您可以使用git checkout master将其合并到master中;git merge branch1,这将导致master被快速转发到commit Y。这将为您提供一个整洁的线性历史,而无需更改master:

如果您已经推了branch1,那么您应该避免重新基址,使用合并,而不是使用git checkout master;git merge branch1,它不会更改它们中任何一个的历史记录,但会在主分支上创建此图中标记为M的新提交:

- A - B - C - D - M
   \            / ^
    - X - Y - -   master
          ^
          branch1

想象一下你现在的情况:

- A - B - C - D
   \          ^
    - X - Y   master
          ^
          branch1
运行git签出branch1;git rebase master将从branch1移动提交,以便将它们应用到master分支的顶部:

- A - B - C - D - M
   \            / ^
    - X - Y - -   master
          ^
          branch1
这不会更改master,但会以两种方式更改branch1:

通过将commit X的父级从A更改为D,您将更改commit X的ID,事实上,就Git而言,它现在是一个全新的commit,因为X有一个新的ID,Y有一个新的父级,所以Y也会获得一个新的ID,如果分支上有更多的提交,依此类推。 您需要执行的任何冲突解决都将更改提交的内容。 如果您已经将branch1推送到远程存储库,那么重新设置其基础是一个非常糟糕的主意;改变已经共享的历史只会导致问题

假设您还没有按下branch1,那么您可以使用git checkout master将其合并到master中;git merge branch1,这将导致master被快速转发到commit Y。这将为您提供一个整洁的线性历史,而无需更改master:

如果您已经推了branch1,那么您应该避免重新基址,使用合并,而不是使用git checkout master;git merge branch1,它不会更改它们中任何一个的历史记录,但会在主分支上创建此图中标记为M的新提交:

- A - B - C - D - M
   \            / ^
    - X - Y - -   master
          ^
          branch1

好的,但如果我要将master重设为一个分支,这将改变该分支的历史,并且该重设存在冲突。如果我将该分支合并到master上,git将如何提交和解决冲突?它会更改主分支以匹配其在分支上的历史记录,还是会在最后将这些更改作为新的提交应用?它会将其与更新的节点图一起拉入。Rebase将改变提交节点的顺序,以便在一行中插入提交。现在,当从另一个用户/分支提取此信息时,
它还更新了该分支。我个人在一个12人的团队中,我们在自己的分支中重新设置基础,并在将分支添加到主分支时进行git合并。这对usOK来说非常有效,但如果我将master重新设置为分支,这将改变该分支的历史,并且该重新设置存在冲突。如果我将该分支合并到master上,git将如何提交和解决冲突?它会更改主分支以匹配其在分支上的历史记录,还是会在最后将这些更改作为新的提交应用?它会将其与更新的节点图一起拉入。Rebase将改变提交节点的顺序,以便在一行中插入提交。现在,当从另一个用户/分支提取此信息时,它也会更新该分支。我个人在一个12人的团队中,我们在自己的分支中重新设置基础,并在将分支添加到主分支时进行git合并。这对我们很有效