Git ';吉特差异';在当前工作区和主工作区之间

Git ';吉特差异';在当前工作区和主工作区之间,git,Git,我是一名测试人员,对Git的了解有限。我克隆了一个项目并创建了一个本地工作区。当我想要获得最新的源代码时,我使用git pull命令 如果我错了,请纠正我。我想我没有分支机构 现在我想知道我的工作区和主机之间的变化。简而言之,我想知道将要应用于我的工作区的更改 我尝试了git diff master,但它没有返回任何结果。一般来说,您总是在git中的一个分支上(分离头状态可能是一个例外)。除非您还记得创建了一个分支,否则我猜您是在master分支上。要查看相对于开始位置所做的更改,可以从命令行使

我是一名测试人员,对Git的了解有限。我克隆了一个项目并创建了一个本地工作区。当我想要获得最新的源代码时,我使用
git pull
命令

如果我错了,请纠正我。我想我没有分支机构

现在我想知道我的工作区和主机之间的变化。简而言之,我想知道将要应用于我的工作区的更改

我尝试了git diff master,但它没有返回任何结果。

一般来说,您总是在git中的一个分支上(分离头状态可能是一个例外)。除非您还记得创建了一个分支,否则我猜您是在
master
分支上。要查看相对于开始位置所做的更改,可以从命令行使用以下命令:

git diff HEAD
如果您使用的IDE(如IntelliJ或Eclipse)带有Git插件,那么您可以在工作区中直观地看到更多类型的文件差异。

一般来说,您总是在Git中的一个分支上(分离头状态可能是个例外)。除非您还记得创建了一个分支,否则我猜您是在
master
分支上。要查看相对于开始位置所做的更改,可以从命令行使用以下命令:

git diff HEAD

如果您使用的是IntelliJ或Eclipse等IDE以及Git插件,那么您可以在工作区中直观地看到更多类型的文件差异。

这是Git的真正基础。我强烈建议大家学习一下VisualGit教程(只需谷歌一下)。另外,我建议使用开源GUI工具Git Extensions,这样您就可以直观地查看提交/分支,并更轻松地学习不同的命令

一些术语和初学者提示:
  • 您已将远程存储库(默认情况下通常称为
    origin
    )克隆到电脑上的本地存储库
  • 您确实在本地有一个工作区,但它是多方面的组合:
    • 本地Git存储库本身,其中存储了有关提交历史记录的所有信息,这允许您为任何提交重新创建工作目录
    • 工作目录——这些是尚未提交到存储库中的正在进行的更改和差异
    • 索引-这是工作目录中的更改已暂存并准备提交的地方
    • 隐藏-这是一种临时提交,您可以在离开并在存储库中执行其他操作时,临时保存工作目录和/或索引中的当前更改
  • 克隆实际上会在您的PC上创建远程存储库的副本,您可以将更改与远程存储库分开提交到新的本地存储库(然后使用pull和push与之同步)。您不仅可以在本地提交更改,更新存储库,而且在可以在本地提交更改之前,必须将更改分阶段提交到索引中。只有索引中的项被提交,然后只有提交被推送到远程存储库
  • 当您从远程存储库中拉出时,它会从您签出的当前分支(使用
    git fetch
    )中取出任何新提交,然后将
    git合并
    您的本地
    master
    分支到您刚才拉出的远程
    master
    分支中
  • 除非您已经创建了一个新分支并在本地提交,否则您很可能处于
    master
    分支中
  • 合并可能会导致合并冲突,您必须在本地提交合并之前解决该冲突,然后最终将本地提交推送到远程
如何查看准备提交的更改:
  • 如果要查看工作目录(未分级)和索引(分级并准备提交)中的更改列表,请键入
    git status
  • 如果您还想查看每个已更改文件中的实际更改,则可以键入
    git diff HEAD
虽然在Git扩展中很容易看到当前的更改—只需点击“提交”按钮,就会弹出一个窗口,在左上角显示工作目录,在左下角显示索引,如果您单击其中的任何文件,您将在右侧看到该文件的所有更改

这不是你想要的区别 (抱歉-无法抗拒《星球大战》的引用)

好的,我终于理解了您的核心问题-您没有对本地存储库进行更改,您只想查看在拉取之前和拉取之后存储库之间的更改-查看自上次拉取以来发生了哪些更改

这可以通过在拉取之前获取
master
上最后一次提交的哈希值,然后使用:

git diff <hash of prior commit> HEAD
HEAD~2只是从HEAD返回日志中的两个提交,并使用该散列


要使用GUI实现这一点,在Git Extensions中,只需右键单击前面的提交并选择“比较”→ “与当前分支进行比较”,以便调出包含提交和当前分支的当前位置之间的更改的差异窗口


当前签出的分支/提交在Git Extensions中以粗体显示,并且应该始终位于列表的顶部,并且在其旁边有一个符合您的情况的主标记。

这是Git的真正基础。我强烈建议大家学习一下VisualGit教程(只需谷歌一下)。另外,我建议使用开源GUI工具Git Extensions,这样您就可以直观地查看提交/分支,并更轻松地学习不同的命令

一些术语和初学者提示:
  • 您已将远程存储库(默认情况下通常称为
    origin
    )克隆到电脑上的本地存储库
  • 你确实有工作空间
    git status 
    git diff 
    
    git diff path/of/file/show/in/git/status