创建子分支后删除Git分支

时间:2016-05-05 14:42:30

标签: git visual-studio gitlab

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

我有这些分支A(主)和& Bqwerty(开发),Bqwerty没有正确的名称约定,所以我想重命名它或用正确的名称创建一个分支,然后删除Bquerty。

Visual Studio 2015(团队资源管理器)或GitLab都没有提供重命名分支的选项(或者至少我找不到它),

运行是否安全:

git branch -m <newname>

它会影响Visual Studio或Git Lab吗?

或者,如果我做了一个新的分支Bqwerty - &gt; B然后删除Bqwerty,即使B尚未合并,这还会保留历史吗?

2 个答案:

答案 0 :(得分:2)

我不知道您提到的工具,但根据我对Git的了解,分支重命名可以正常工作。

在Git中,分支只是提交的指针。此历史记录存储在提交中,因此重命名只会生成一个指向与旧分支相同的提交的新指针。这种方式与创建和删除几乎完全相同。

唯一的区别是重命名将保留重命名,而create / delete则不会。

reflog是特定分支或引用指向的提交的日志。这是一个存储库本地的东西,在推送/获取时不会共享。这不是标准的Git历史记录,它实际上是提交历史记录,它没有真正关于分支名称,并且与push / fetch共享。

答案 1 :(得分:0)

当我用

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

Bq​​werty当地分支机构已成功更名为B,但它仍指向原产地/ Bqwerty。

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

git push -u origin B:B

将我的本地B分支指向origin / B分支。

最后我删除了我的远程起源/ Bqwerty分支,现在一切正常:D