我是测试人员,对Git知之甚少。我克隆了一个项目并创建了一个本地工作区。当我想获得最新的源代码时,我使用git pull
命令。
如果我错了,请纠正我。我想我没有分店。
现在我想知道我的工作区和主人之间的变化。简而言之,我想知道将在我的工作区中应用的更改。
我尝试了git diff master
,但它什么都没有返回。
答案 0 :(得分:3)
这是Git真正的基础知识。我强烈建议您浏览一下视觉Git教程(只是google)。另外,我建议使用开源GUI工具 Git Extensions ,以便您可以直观地看到提交/分支并更轻松地学习不同的命令。
origin
)克隆到PC上的本地存储库中。git fetch
)的所有新提交,然后git merge
本地master
分支到您刚刚删除的远程master
分支。master
分支。git status
。git diff HEAD
。虽然在Git Extensions中查看当前的更改非常容易 - 但只需点击“#34; Commit"按钮,弹出一个窗口,左上方是工作目录,左下角是索引,如果单击其中的任何文件,您将在右侧看到该文件的所有更改。
(抱歉 - 无法抗拒星球大战的报价)
好的,我终于明白了你的核心问题 - 你没有对本地存储库进行更改,你只是想在拉动之前和拉动之后看到存储库之间的变化 - 看看自上次拉动以来发生了什么变化
这可以通过在拉取之前获取master
上的最后一次提交的哈希值,然后使用:
git diff <hash of prior commit> HEAD
HEAD
指的是当前检出的任何提交,或者是您检出的分支的当前提交,或者是否直接检出一个特定的提交(这是一个名为&#34的状态;已分离HEAD&#34)。 HEAD
将指向master
,它将指向成功提取后存储库中的最新提交。
您可以放置最新提交的实际哈希,而不是使用HEAD
。请注意,如果您知道有多少提交被删除,您甚至不需要知道提交哈希值。例如,如果先前的提交是两次提交,则可以使用:
git diff HEAD~2 HEAD
HEAD~2只在HEAD的日志中查找两次提交,并使用该哈希。
要使用GUI执行此操作,在Git Extensions中,您只需右键单击先前的提交,然后选择&#34;比较→比较当前分支&#34;为了通过该提交与当前分支的当前位置之间的变化来拉出diff窗口。
当前签出的分支/提交在Git Extensions中以粗体显示,并且应该始终位于列表的顶部,并且旁边有一个>master
标记用于您的情况。
答案 1 :(得分:0)
通常,你在Git的一个分支上总是(异常可能是分离的头状态)。除非你记得创建一个分支,否则我猜你是在master
分支。要查看相对于开始位置所做的更改,可以从命令行使用以下命令:
git diff HEAD
如果您使用的是IntelliJ或Eclipse等IDE,并使用Git插件,那么您可以在工作区中直观地看到更多类型的文件差异。
答案 2 :(得分:0)
您可以找到一些步骤。无论你是否创建了分支,都很容易。只需使用
git status
git diff
然后,与您克隆的原始母版相比,将显示您所做的所有修改。
如果您已经进行了很多更改,请使用
git diff path/of/file/show/in/git/status