【问题标题】:git branch from branch instead of from master从分支而不是从主分支 git 分支
【发布时间】:2014-09-19 17:50:16
【问题描述】:

我从另一个相邻分支而不是主分支创建了一个相邻分支。我已添加更改并推送。现在我看到它就像

*   master commit update readme (this is how I have noticed it)
| * adj_br_2 commit blahblah
| * adj_br_1 commit blah
|/
*   master commit blblbl

现在我想从 master 而不是从第一个分支创建第二个分支。

*   master commit update readme (this is how I have noticed it)
| * adj_br_2 commit blahblah
|/
| * adj_br_1 commit blah
|/
*   master commit blblbl

有没有办法在不清除和重新创建分支的情况下做到这一点?事实上,我需要一种快速的方法来修复它。有什么建议吗?

【问题讨论】:

  • 您可以使用 master 作为基础而不是其他分支来重新设置您的更改。不过,有时该过程需要一些严重的手动合并冲突解决方案。
  • 请把语法贴出来好吗?

标签: git


【解决方案1】:

我会从主人那里创建一个新的:

git checkout -b new-branch master

然后,如果您的原始分支包含您想在新分支中接受的提交,您可以挑选它们:

git cherry-pick commit1 commit2 ...

然后您可以删除要重新创建的第二个相邻分支:

git 分支 -d adj_br_2

在 git 中,创建分支非常便宜且快速,您可以在需要时创建新分支。

【讨论】:

  • 如果我做删除部分,它会说error: The branch 'adj_br_2' is not fully merged.如何解决这个问题?
  • 这是因为它包含仅在其中的提交(提交哈希)。如果您确定删除它不会丢失任何内容(例如,您选择了所有需要的提交),您可以使用以下命令强制删除: git branch -D branch-name (capital D)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
  • 2013-11-04
  • 2014-09-08
相关资源
最近更新 更多