我是git的新手所以请原谅我的无知。 我不得不从我的几个分支中删除一些文件夹,但现在它看起来像一团糟看到下面。我有分支~2 ^等我不明白它们是什么以及如何摆脱它们任何帮助我最欣赏。
xxxxxxxxxxxx:/var/www/installation$ git show-branch
! [demotracking] delete a few folders _notes
* [master] delete a few folders _notes
! [newexport] delete a few folders _notes
---
+ [newexport] delete a few folders _notes
+ [newexport^] Finish report may still need to modify
* [master] delete a few folders _notes
* [master^] Misc fixes and added Demo Tracker to header file
+ [demotracking] delete a few folders _notes
+ [demotracking^] delete a few folders
+ [demotracking~2] delete installtion and installationdev folders
+* [master~2] Minor updates to devices.php and listpos.php
+*+ [newexport~2] Changed sort on PO Status
答案 0 :(得分:1)
见the reference on git revision syntax。
另一个主要的祖先规范是〜(代字号)。这也是 指的是第一个父级,因此HEAD~和HEAD ^是等价的。该 指定数字时,差异会变得明显。 HEAD~2表示 “第一个父母的第一个父母,”或“祖父母” - 它 遍历第一个父母指定的次数。
答案 1 :(得分:1)
您可能对output of git show-branch的文档感兴趣。这实际上并没有向您显示您有多个具有奇数名称的分支......相反,它表明您的分支上的提交顺序如下所示:
这个图中的正方形是提交,它们也是每个分支的头部,椭圆是提交而没有明确的分支指针,至少不是现在正在考虑的。因为在到达所有这三个分支之间的公共提交之前,每个分支上需要一些历史提交,所以git使用相对引用在命令行上显示这个结构。 (它还向您显示主人是当前已检出的分支,但这是另一回事)。
你不需要做任何事情,但是,如果你想清理你的历史记录,我会在你的主分支上调查你的demotracking和newexport分支,以便你有删除提交,然后其他分支可以建立在此基础上。