Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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,抱歉,这只是另一个“重新设置基础”的问题,但我对此感到困惑。 我不时地将开发分支上的提交推送到远程(源)。现在,有一件事经常被提到,那就是:“如果你已经推动了你的更改,就永远不要重新设置基础”。 这意味着,我永远无法重新设置开发分支的基础,只能合并它 在功能分支上工作是很清楚的,如果我没有推动它,我可以重定基础而不是合并。我的问题只指向develope分支。不管您拥有什么类型的分支(毕竟这只是一个概念,对于git来说,分支就是一个分支)。一旦您推送了任何更改,请不要重新基址,否则提交的哈希将更改

抱歉,这只是另一个“重新设置基础”的问题,但我对此感到困惑。
我不时地将开发分支上的提交推送到远程(源)。现在,有一件事经常被提到,那就是:“如果你已经推动了你的更改,就永远不要重新设置基础”。
这意味着,我永远无法重新设置开发分支的基础,只能合并它

在功能分支上工作是很清楚的,如果我没有推动它,我可以重定基础而不是合并。我的问题只指向develope分支。

不管您拥有什么类型的分支(毕竟这只是一个概念,对于git来说,分支就是一个分支)。一旦您推送了任何更改,请不要重新基址,否则提交的哈希将更改。

您可以重新基址(并强制下一次推送),前提是没有人用您的远程repo克隆/更新他/她自己的本地repo。
如果其他人已从您的远程回购中提取,而您强制推送您的重定基础分支,则您将发布新的历史记录,迫使他们执行更复杂的重置操作(他们必须将自己的本地分支重置为新的远程分支历史记录,然后重新应用自己的提交)。
对于公共远程回购,.

读取-它用图片提供了很好的解释。还包含“从上游回扣中恢复”)一节,这使您成为可能受您的回扣影响的所有人的眼中钉漂亮的ASCII艺术也包括在内


而且,不应该把“永远不要对推到公共回购中的内容重新设定基准”当作教条:有时候,如果这种重新设定基准的方式明确地传达给公共存储库的其他用户,那么这是一种有效的方法。例如,请参见(此备忘录有点过时,此文本的较新版本没有直接提及重定基址,因此我决定链接到此较旧的副本)。

您不应重定推送提交的基址。但是,对未被推送的提交重新设置基址(
-i
)是完全可以的。

我已经阅读了“Pro Git”一书,当我处理一个功能分支时,我的头脑中应该很清楚。但事实上,“发展”只是一个分支,就像所有其他分支一样,具有相同的规则。因此,任何被推到远程回购的分支机构都不应重新设定基准。谢谢。你的意思是:“没关系……”。没错,“开发”只是另一个分支的名称。一定要记住这一点。