繁体   English   中英

Git-分支BranchA时,如何重置新的分支BranchB,使其不包含任何BranchA内容?

[英]Git - When branching off BranchA, how do I reset my new branch BranchB so it doesn't have any BranchA content?

我在BranchA上做了很多工作。

我现在想创建一个新的本地分支BranchB并从GitHub下拉此远程分支。

但是,执行git checkout -b BranchB仍然具有我对BranchA所做的所有更改。

如何重置该分支,使其没有任何内容,以便可以从GitHub中提取干净的BranchB?

谢谢。

假设BranchB在服务器上,只需执行git checkout BranchB (不带-b选项)。 这将创建BranchB,并使其自动跟踪原点/ BranchB。 如果您已经在本地创建了“错误的” BranchB,请确保首先使用git branch -d BranchB删除它。

您可以使用以下命令创建从历史记录的某个位置开始的分支:

git checkout -b BranchB <sha1>

此命令执行以下两项操作:

  • 它创建一个从<sha1>开始的本地分支BranchB。
  • HEAD与您的工作树一起切换到该分支

然后,您可以推送并跟踪它:

git push origin BranchB --set-upstream

请注意,<sha1>可能是:

  • 产地/主
  • 起源/主〜1
  • BranchA〜2
  • 实际上,任何提交的sha1

如果您已经有一个名为“ BranchB”的“不良”本地或远程分支,则可以将其删除:

git push origin :BranchB  # Deletes the remote branch origin/BranchB
git branch -d BranchB     # Deletes the local branch BranchB (if merged, no risk to loose data)
git branch -D BranchB     # Deletes the local branch BranchB (force for not merged branches)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM