如果我推送我新创建的分支,主分支会有变化吗(查看详情)?

Will master branch have changes if I will push my new created branch(see details)?

我正在处理一些快速更新票。我们决定在 master 分支中执行此操作并将代码直接推送到存储库。但我最终做的不仅仅是快速更新,我们意识到这会影响很多地方。在进行更新时,我已将我的代码提交到本地的 master 分支。现在,我们决定不能将这段代码直接推送给 master,因为我们最终没有足够的时间进行测试。我们将创建单独的分支并将此更改推送到此分支,发布后将合并它们并进行测试。

我的问题 - 如果我将从我当前的 master 分支创建新分支并推送该新分支,这是否会影响我们的 master 分支? (因为我本地已经提交到master分支了)

我将按照以下步骤操作:

git branch upgrade_branch
git checkout upgrade_branch
git add (all upgrade work)
git commit -m "upgrade for xxxx"
git checkout master
git push origin upgrade_branch

提前致谢!

只要您避免要求上游 (origin) Git 存储库更新其 master,就可以了。您列出的步骤应该运作良好。但是,您可能想要在创建新分支后调整您自己的 master 分支名称,这样您就 不能 询问 origin存储库调整其 master.

这个特定的序列:

git branch upgrade_branch
git checkout upgrade_branch

可以缩短为:

git checkout -b upgrade_branch

然后您可以按照概述进行添加和提交。在你这样做之后:

git checkout master

不过,您可以 运行 git status。如果这表示您的 master 领先于 origin/master,您可以使用 git reset --hard origin/master 将您自己的 master 倒回到与您的 origin/master 所确定的相同提交.这将意味着即使您不小心 运行 git push origin master,也不会发生任何事情。

如果您的 push.default 设置为 simple(这是通常的情况),您将需要使用:

git push -u origin upgrade_branch

最初是在 origin 的 Git 上创建新分支 upgrade_branch

注意:理解这一点的方法是每个 Git 都有 自己的 分支名称。您的分支机构名称不必与他们的名称相同。通常,您将使用与他们相同的分支名称,因为很难记住您的分支名称 fred 对应于他们的分支 wilma,您的 barney 与他们的 [=33] 对应=],等等——但在原则中,至少,你的名字和他们的名字是完全不同的。所以即使你改变了你的 master ,这对 他们的 master 没有影响,除非你让你的 Git 打电话给他们Git 和 要求他们更换

这就是 git push 的意义所在:您的 Git 召集其他人 Git,在需要时给他们新的提交,然后 询问或告诉他们更改他们的一些名字。您要求或告诉他们更改的名字由您决定,在 git push 时间,并且 git push origin update_branch 要求他们根据您的名字 update_branch 更改(或创建)他们的名字 [=39] =].