Answers:
git checkout old_branch
git branch new_branch
这将为您提供一个新的分支“ new_branch”,其状态与“ old_branch”相同。
该命令可以组合为以下内容:
git checkout -b new_branch old_branch
git checkout -b new_branch
(如果您已经加入old_branch
)。
在Git 2.15(2017年第4季度)中,“ git branch
学习了” -c/-C
通过复制现有分支来创建新分支。
参见提交c8b2cec(2017年6月18日)由ÆvarArnfjörðBjarmason( )avar
。
参见Sahil Dua()提交52d59cc,提交5463caa(2017年6月18日)。(通过合并JUNIOÇ滨野- -在提交3b48045,2017年10月3日)sahildua2305
gitster
branch
:添加--copy
(-c
)选项以与--move
(-m
)一起使用
--copy
为分支及其引用日志和配置添加功能,这与--move
(-m
)选项使用相同的基础机制,除了引用日志和配置是复制而不是移动之外。这对于例如将主题分支复制到新版本(例如
work
,work-2
在将work
主题提交到列表之后),同时保留所有与分支一起的跟踪信息和其他配置非常有用,并且不同于--move
保留其他已经提交的分支参考。
注意:复制分支时,您将保留在当前分支上。
正如Junio C Hamano解释的那样:
B
通过复制A
碰巧是当前分支的分支来创建新分支时,它也会更新HEAD
以指向新分支。
之所以这样做,是因为“git branch -c A B
”在“git branch -m A B
” 上搭载了其实现,这与通常的预期不符。
如果我坐在蓝色的椅子上,有人来将它重新粉刷成红色,我会接受坐在最后变成红色的椅子上(我也可以站立,因为我最喜欢的蓝色椅子不再)。但是,如果有人创建了一个新的红色椅子,并以我坐在蓝色椅子上为模型,则我不希望它从蓝色椅子上脱下,然后坐在新的红色椅子上。
git branch -c A B
。请参阅下面的答案