git - 如果我在 git 中删除父分支,子分支会发生什么

标签 git version-control git-branch

我打算重命名我的 git 存储库中的一个分支。我发现最简单的方法是从该分支创建一个新分支并为其指定所需的名称。

之后我想删除旧分支(父分支)。但是我担心如果这样做的话我会在我的新分支中丢失数据。

如果我删除那个分支,最初对父分支所做的提交会怎样?

最佳答案

会发生什么?什么都没有。

如果您在另一个分支所在的地方创建一个分支,您可以“删除”另一个分支而不会丢失任何东西。分支 (HEAD) 只是指向提交的指针。
只要这些提交被分支 HEAD 引用(或者是分支 HEAD 祖先的一部分),它们就不会丢失。
即使它们不再被任何分支或标签引用,它们仍然在本地 reflog 中。 (默认情况下)90 天。

但是,查看 man page for git branch ,这似乎更容易:

 git branch (-m | -M) [<oldbranch>] <newbranch>

与:

-m
--move

Move/rename a branch and the corresponding reflog.

-M

Move/rename a branch even if the new branch name already exists.

关于git - 如果我在 git 中删除父分支,子分支会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19380840/

相关文章:

git - 如何从 Git 存储库中删除目录?

GIT 1.9 - 远程 : error: 'receive.denyCurrentBranch'

svn - 多个分支的 Mercurial 存储库布局

git - 找到起点做一个rebase -i

git - 如何从另一个分支获取一个文件?

git - 构建期间未找到 Visual Studio Online CI Nunit 测试

git - 执行 git pull 后找不到我的提交

java - Netbeans Javadoc Git 集成

database - 数据库供应链管理

git - fork 现有的只读 Git 存储库