首页 > 解决方案 > 如果我将推送新创建的分支,主分支是否会发生变化(请参阅详细信息)?

问题描述

我正在处理一些快速更新票。我们决定在 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

先感谢您!

标签: gitgitbucket

解决方案


只要您避免要求上游 ( 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/mastergit reset --hard origin/mastermasterorigin/mastergit push origin master

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

git push -u origin upgrade_branch

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

注意:理解这一点的方法是每个 Git 都有自己的分支名称。您的分支名称不必与他们的相同。通常,您将使用与他们相同的分支名称,因为记住您的分支名称fred对应于他们的分支wilma,您的分支名称对应于barney他们的分支,betty等等 - 但原则上,至少,您的名称和他们的名称是完全不同。所以即使你改变了你的master周围,这对他们 master没有影响,除非并且直到你让你的 Git 调用他们的 Git 并要求他们改变他们的 Git 。

事情git push是这样的:你的 Git 调用其他 Git,如果需要,给他们新的提交,然后要求或告诉他们改变他们的一些名字。您要求或告诉他们更改的姓名git push有时取决于您,并要求他们根据您的姓名git push origin update_branch更改(或创建)他们的姓名。update_branchupdate_branch


推荐阅读