最后用git分支~2 ^等

时间:2018-03-05 05:01:41

标签: git

我是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

2 个答案:

答案 0 :(得分:1)

the reference on git revision syntax

  

另一个主要的祖先规范是〜(代字号)。这也是   指的是第一个父级,因此HEAD~和HEAD ^是等价的。该   指定数字时,差异会变得明显。 HEAD~2表示   “第一个父母的第一个父母,”或“祖父母” - 它   遍历第一个父母指定的次数。

答案 1 :(得分:1)

您可能对output of git show-branch的文档感兴趣。这实际上并没有向您显示您有多个具有奇数名称的分支......相反,它表明您的分支上的提交顺序如下所示: graphviz of commits

这个图中的正方形是提交,它们也是每个分支的头部,椭圆是提交而没有明确的分支指针,至少不是现在正在考虑的。因为在到达所有这三个分支之间的公共提交之前,每个分支上需要一些历史提交,所以git使用相对引用在命令行上显示这个结构。 (它还向您显示主人是当前已检出的分支,但这是另一回事)。

你不需要做任何事情,但是,如果你想清理你的历史记录,我会在你的主分支上调查你的demotracking和newexport分支,以便你有删除提交,然后其他分支可以建立在此基础上。