创建子分支后删除Git个分支

Delete Git branch after creating a child branch

非常快,我目前正在重组我的 Git 存储库,但我对这种情况有疑问,我不想把它搞砸,我目前使用的是 Visual Studio 2015 和Git实验室

我有这些分支 A(master) 和 Bqwerty(develop),Bqwerty 没有专有名称约定,所以我正在考虑重命名它或使用专有名称从中创建一个分支,然后删除Bquerty 之后。

Visual Studio 2015(team explorer) 或 GitLab 都没有提供重命名分支的选项(或者至少我找不到),

运行安全吗:

git branch -m <newname>

它会影响 Visual Studio 或 Git 实验室吗?

或者如果我创建一个新分支 Bqwerty --> B 然后删除 Bqwerty,即使 B 尚未合并,这是否会保留历史记录?

我不知道你提到的工具,但根据我的知识 Git 分支重命名就可以了。

在Git中,分支只是指向提交的指针。此历史记录存储在提交中,因此重命名只是创建一个指向与旧分支相同的提交的新指针。这样就跟创建和删除几乎一模一样了

唯一的区别是重命名将在整个重命名过程中保留引用日志,而 create/delete 则不会。

reflog 是特定分支或引用指向的提交的日志。这是一个存储库本地的东西,在 pushing/fetching 时不共享。这不是标准的 Git 历史,它实际上是不关心分支名称的提交历史,并与 push/fetch 共享。

我 运行 在重命名为

时遇到了小麻烦
git branch -m <newname>

本地b运行ch Bqwerty成功重命名为B,但仍指向origin/Bqwerty。

所以我最终做的是从 origin/Bqwerty 创建一个新的远程 b运行ch (origin/B),之后我使用了:

git push -u origin B:B

将我的本地 B b运行ch 指向 origin/B b运行ch.

最后我删除了我的遥控器 origin/Bqwerty b运行ch,现在一切正常 :D