gpt4 book ai didi

推送后git切换哪个分支是master分支

转载 作者:太空狗 更新时间:2023-10-29 14:15:22 25 4
gpt4 key购买 nike

我有一个别人的 repo 的分支,像这样对我的 master 分支进行了一些更改,并推送到我的分支:

[upstream/master] --- C1 --- C2[origin/master]

然后我决定我想要我的改变C1C2成为分支机构的一部分 feature_branch1 ,我想要我的 master分行返回 upstream/master :

[upstream/master === origin/master] --- C1 --- C2[origin/feature_branch1]

我通过以下方式实现了这一目标:

git checkout C2
git branch -m feature_branch1
git checkout upstream/master
git branch -m master

(不知道那是不是我想做的)。

然后我在 master 上添加了一些额外的功能像这样分支:

                                     C1 --- C2 [origin/feature_branch1]
/
[upstream/master === origin/master]
\
C1' --- C2' [origin/feature_branch2]

( git checkout master; git checkout -b feature_branch2; <changes>; <commits> )

现在我正在尝试推送到远程。我推了feature_branch1feature_branch2成功 ( git push origin feature_branchX ),但是当我尝试推送 master 时,我收到有关无法快进和丢失历史记录的错误。

我有点明白 - 我认为它不想让我失去 C1C2通过移动master回到分支点。但是我保存了C1C2feature_branch1已经,所以我不会失去它们。

有什么方法可以实现上图吗?

最佳答案

如果您将 --force 标志添加到您的推送中,它应该会成功。

一旦推送,重写历史被认为是一件坏事,因为如果其他人克隆了您的 master 并 pull 了您要删除的提交,他们将遇到问题,因为他们的引用不再存在。

关于推送后git切换哪个分支是master分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12738151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com