V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
lyvv
V2EX  ›  git

git 新手求教: git 如何对比服务器上最新的代码和本地的区别?不是本地远端和本地 working。 svn 可以使用 show log,直接对比,调用 beyond compare 很方便。

  •  
  •   lyvv · 31 天前 · 1449 次点击
    git 新手求教:

    svn 可以使用 show log ,右键最新的提交,直接对比当前(当前代码可以提交,也可以未提交),调用 beyond compare 查看非常方便。
    ——————————————————————————————————————————
    git 我使用 vscode 或者 TortoiseGit ,均无法实现以上功能。

    如图,代码已经 commit 并且 sync 位于 2 ,1 是最新代码
    点击 1 ,会对比 1 和 4 (还是 5 ,我不确定)

    点击 2 ,会对比 2 和 3 ,

    但是我想要对比 1 和 2 ,请问如何操作?

    代码我是在 2 台电脑操作的,都是基于一个分支,不知道为什么会出现 merge 操作,都是 vscode 自动完成的。
    ——————————————————————————————————————————
    问题 2:
    如果当前电脑的代码未提交并且和服务器更新的文件有冲突,还必须先提交才能 fetch 对比,更加麻烦....


    请问各位大佬,如何对比服务器上最新的代码和本地代码?

    <img>https://imgur.com/a/ZReZPLn </img>

    这个图要怎么才能直接显示
    17 条回复    2025-05-14 14:11:28 +08:00
    llussy
        1
    llussy  
       31 天前
    git diff
    lyvv
        2
    lyvv  
    OP
       31 天前
    @llussy 不行呢
    kandaakihito
        3
    kandaakihito  
       31 天前
    虽然但是,这种问题明显问 ai 来得更加快捷详细啊,跑这来问属实是舍近求远。。。

    而且最近咋感觉大伙在把程序员板块当百度知道来用
    zhzhA
        4
    zhzhA  
       31 天前   ❤️ 2
    装个 git graph ,点开图形化界面,找到要对比的文件,右键,View diff with working file
    JoeJoeJoe
        5
    JoeJoeJoe  
       31 天前
    1 楼正解, 使用 git diff 来对比
    git diff commit1 commit2 对比两次提交
    git diff branch1 branch2 对比两个分支

    顺手安利个好玩的 git 命令行: https://github.com/jesseduffield/lazygit
    hwdq0012
        6
    hwdq0012  
       31 天前
    git fetch origin && git difftool origin/master HEAD
    iguess
        7
    iguess  
       31 天前
    git fetch origin
    git diff origin/dev dev
    hmxxmh
        8
    hmxxmh  
       31 天前
    @kandaakihito 是也不是,有些问题真查不出来,也没有思路,发到程序员节点,是想看看有没有佬实现过,可以提供解决方案
    DICK23
        9
    DICK23  
       31 天前
    jetbrains ide 的 git 比对很好用
    bruce0
        10
    bruce0  
       31 天前
    首先你需要把远程的代码 fetch 到本地才能比较

    因为 git 和 SVN 有本质的差别,SVN 是一个中心化的版本控制工具, git 没有中心服务器这个概念,只能把远程的拉到本地后,然后比较两个分支的差别
    BinCats
        11
    BinCats  
       31 天前 via iPhone
    很简单啊,compare with branch
    lyvv
        12
    lyvv  
    OP
       31 天前
    @JoeJoeJoe
    这个命令可以
    git diff commit1 commit2 对比两次提交

    但是很麻烦,而且没法在 vscode 里面看,只能在 cmd 里面看,十分不便。




    @llussy
    @hwdq0012
    @iguess
    @bruce0
    我已经 fetch 到本地了,使用 git diff 显示无差别。具体提交记录,看我这个图

    https://imgur.com/a/ZReZPLn.png
    Betsy
        13
    Betsy  
       31 天前 via iPhone
    如果少量对比,且知道具体的文件,且服务器是 gitlab 或者 github 这种。那么一个屏幕打开浏览器,打开对应的代码文件;另一个屏幕打开 vscode 。然后人工对比。

    这种方式可以及时发现因 git 不熟,导致的代码提交错误的问题
    imjiaoyuan
        14
    imjiaoyuan  
       31 天前 via Android
    打开一个 vscode ,左边点击修改过的文件,右侧就显示了
    edenzhang
        15
    edenzhang  
       31 天前
    装个 git 插件,比如 gitlen
    liyafe1997
        16
    liyafe1997  
       31 天前
    @zhzhA +1 VSCoder 的 git graph 插件很好用
    JoeJoeJoe
        17
    JoeJoeJoe  
       30 天前
    @lyvv vscode 的话可以安装 gitlens, 打开 commit graph, 选中任意两个提交右键可以选择 compare
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2594 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:23 · PVG 13:23 · LAX 22:23 · JFK 01:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.