如果我推送新创建的分支,主分支会发生变化吗(查看详细信息)?



我正在研究一些快速更新票证。我们决定在主分支中执行此操作,并将代码直接推送到存储库。但我最终做的不仅仅是快速更新,我们意识到这将影响很多地方。在进行更新时,我已经将我的代码提交到本地主分支。现在,我们决定不能将此代码直接推送到 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

最初是为了在 Git 上创建新的分支upgrade_branchorigin.

注意:理解这一点的方法是每个 Git 都有自己的分支名称。您的分支名称不必与其名称相同。 通常,您将使用与他们相同的分支名称,因为记住您的分支名称fred对应于他们的分支wilma,您的barney与他们betty相对应,依此类推,但原则上,至少,您的名称和它们的名称是完全不同的。 因此,即使您更改了master,也不会对他们的master产生影响,除非您的 Git 调用他们的 Git 并要求他们更改他们的Git。

这就是git push的意义所在:你的 Git 调用其他一些 Git,在需要时给他们新的提交,然后要求或告诉他们更改一些名字。 您要求或告诉他们更改的名称由您决定,git push时间,git push origin update_branch要求他们根据您的姓名更改(或创建(他们的名字update_branchupdate_branch

最新更新