创建子分支后删除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
非常快,我目前正在重组我的 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