每当我创建一个新分支(git checkout -b <newBranchName>)
时,我都会使用许多提交日志:
Merge remote-tracking branch 'upstream/master' into develop e53c044
Merge remote-tracking branch 'upstream/develop' into develop feda328
Merge remote-tracking branch 'upstream/develop' into develop 4bbd301
Merge remote-tracking branch 'upstream/develop' into develop 4dfcfcb
Merge remote-tracking branch 'upstream/develop' into develop bfaccfb
Merge remote-tracking branch 'upstream/develop' into develop 754c0ab
Merge remote-tracking branch 'upstream/develop' into develop b0454b0
Merge remote-tracking branch 'upstream/develop' into develop f96182f
如何在没有此类日志的情况下创建分支?
答案 0 :(得分:0)
orphan
的{{1}}参数可以帮助您:
git checkout
这将创建一个名为NEW_BRANCH的新分支,其中包含0个提交。但现在所有文件都保留在缓存区域,您可以使用“git rm --cached ...”来取消暂存:
git checkout --orphan NEW_BRANCH
git rm -r --cached .
这里可以递归地取消暂存文件。
答案 1 :(得分:0)
新创建的分支的提交基于您从中创建的父分支。
例如,如果您从new
分支创建新分支develop
,如下图所示:
A---B---C developer
\
new
当您显示new
分支的日志时,您会发现提交的内容为A
,B
和C
。
如果要创建new
分支而不显示父提交,则可以创建孤立分支(在develop
分支上执行):
git checkout --orphan new
然后new
分支上没有提交。提交历史记录如下:
A---B---C developer
new
如果您想创建new
分支,只有部分提交的父分支develop
,您可以使用:
git checkout -b new <last commit you want to contain in new branch>
例如,如果您只想在A
分支中包含提交B
和new
,则可以使用命令git checkout -b new <commit id for B>
,然后提交历史记录将为:< / p>
A---B---C developer
\
new