当我在Git中指定一个祖先提交对象时,我在HEAD^和之间感到困惑HEAD~.
两者都有像" HEAD^3和"这样的"编号"版本HEAD~2.
它们看起来与我非常相似或相同,但是波浪号和插入符之间有什么区别吗?
以下命令之间有什么区别?:
git diff foo master # a
git diff foo..master # b
git diff foo...master # c
Run Code Online (Sandbox Code Playgroud)
diff手册谈到它:
比较分支机构
Run Code Online (Sandbox Code Playgroud)$ git diff topic master <1> $ git diff topic..master <2> $ git diff topic...master <3>
- 主题提示与主分支之间的更改.
- 与上述相同.
- 自主题分支启动以来主分支上发生的更改.
但对我来说并不完全清楚.
我在这里看到了一个问题的答案,有助于在git中恢复已删除的文件.
解决方案是
git checkout <deleting_commit>^ -- <deleted_file_path>
Run Code Online (Sandbox Code Playgroud)
插入符(^)的作用是什么?我在其他地方看到它在git中做了非常有用的事情.这很神奇.请有人为我破坏它并告诉我它的作用?
在我打开拉请求的分支上工作时,我希望看到GitHub在命令行上显示的完全相同的差异.什么是特定的git diff命令复制GitHub为拉取请求显示的更改列表?
有没有一种简单的方法来找出某个函数停止使用的提交?我发现我以为我正在使用的函数已经很多次了,但是似乎什么也没有调用它,这让我想知道何时以及为什么要这样做。