看到git pull的最新变化了吗



当我运行git pull时,我在终端上看到了这个:

Fast-forward
src/components/Button/index.tsx |    2 +-

我如何在不必访问浏览器的情况下查看更改?有可能知道编辑器中更改了什么吗(我使用的是vscode(?

您可以使用以下命令找到差异:

git diff HEAD^1

关于上述git命令的更多信息可在此答案中获得,或者git diff的手册页是另一个选项。

有可能知道编辑器中发生了什么变化吗(我使用的是vscode(?

为了完成答案,VSCode中有一个名为GitLens的扩展,它逐行提供有关最新提交和更改的深入信息。以上扩展链接提供了更多详细信息。

您可以查看如何使用reflog:更新头部提交

$ git reflog
46f6744 (HEAD -> master, origin/master) HEAD@{0}: pull (finish): returning to refs/heads/master
46f6744 (HEAD -> master, origin/master) HEAD@{1}: pull (start): checkout 46f6744b780c1df8b0212fd297679719443874a3
e5eee0e HEAD@{2}: commit: some message
ac32fe4 HEAD@{3}: commit: some other message
...

如您所见:给定上述reflog,git pull的效果是将HEAD从提交e5eee0e移动到46f6744

然后,您可以查看这两个提交之间的差异:

git diff e5eee0e 46f6744
# if you are interested in this specific file :
git diff e5eee0e 46f6744 -- src/components/Button/index.tsx

reflog中提到的HEAD@{xx}也是指定提交的有效方法:

git diff HEAD@{2} HEAD

这些命令可以从任何终端运行。


请注意,在您的情况下,HEAD@{2}可能不是正确的参考:
我的示例中有pull (start): ...pull (finish): ...条目,因为我在机器上配置了pull.rebase = true;如果pull不是快进的,reflog会注册一系列正在重播的提交;先前的";状态可能是HEAD@{5}HEAD@{11}或。。。

检查您的reflog以了解在git pull操作之前哪个是活动提交。

另一个感兴趣的地方可以是远程分支的reflog:
它将显示在运行git pull时如何更新origin/master的本地视图

$ git reflog origin/master
46f6744 (HEAD -> master, origin/master) refs/remotes/origin/master@{0}: pull: fast-forward
e5eee0e refs/remotes/origin/master@{1}: pull: fast-forward

在Visual Studio代码中,有一些扩展将在树视图中显示更改的特定文件,并允许您在"diff视图";它在左侧显示原始文件,在右侧显示更新后的文件,并用绿色/红色突出显示更改的内容。

具有此功能的一些顶级扩展:

  • GitLens
    • 在侧栏中打开一个包含提交和文件信息的树视图
    • 添加内联";编码透镜";关于最近对特定行的更改的评论
  • Git图
    • 打开一个单独的窗口,显示带有所有分支中所有提交的repo的可视化映射

不过,我的一个替身在编辑器/IDE之外。如果你有Windows,Git扩展是一个不错的选择。它是一个开源的、完整的Git GUI,在一个简单的点击界面和分支、提交和文件的可视化布局中提供了Git 99%的可用功能。

相关内容

  • 没有找到相关文章

最新更新