代码之家  ›  专栏  ›  技术社区  ›  Lernkurve

如何检查远程(源站)Git存储库上的更改?

git
  •  210
  • Lernkurve  · 技术社区  · 15 年前

    问题

    要执行以下工作流的git命令是什么?

    脚本

    我克隆了一个存储库,并对本地存储库进行了一些提交。同时,我的同事对远程存储库进行了提交。现在,我想:

    1. 检查是否有新的 来自其他人的承诺 远程存储库,即 origin ?

    2. 假设有3个新的承诺 远程存储库 拉,我想区分 远程存储库的提交,即 HEAD~3 具有 HEAD~2 , 头颅~ 2 具有 HEAD~1 头颅~ 1 具有 HEAD .

    3. 在知道远程改变后, 我想得到最新的承诺 来自其他人。

    到目前为止我的发现

    对于步骤2:我知道插入符号 HEAD^ , HEAD^^ 等等,还有tilde符号 头颅~ 2 , 头颅~ 3 等。

    第三步:我想,这只是 git pull .

    8 回复  |  直到 7 年前
        1
  •  218
  •   Alan Haggai Alavi    15 年前

    你可以 git fetch origin 更新存储库中的远程分支以指向最新版本。对于远程差异:

    git diff origin/master
    

    是的,您也可以使用插入符号。

    如果要接受远程更改:

    git merge origin/master
    
        2
  •  148
  •   Community Mohan Dere    8 年前
    git remote update && git status 
    

    在上找到这个 answer Check if pull needed in Git

    git remote update 使您的远程参考更新。然后你可以 做以下几件事之一:

    1. git status -uno 将告诉您正在跟踪的分支是在前面、后面还是已经分叉。如果它什么也没说,当地人和 遥控器是一样的。

    2. git show-branch *master 将显示名称以master结尾的所有分支(如master和origin/master)中的提交。

    如果你使用 -v 具有 git远程更新 你可以看到哪些分支 更新了,所以您不需要任何进一步的命令。

        3
  •  33
  •   jag    15 年前

    对“起源”进行综合观察的一个好方法是:

    git remote show origin
    
        4
  •  14
  •   Paul 501    9 年前

    我只是用

    git remote update
    git status
    

    然后,后者会报告我本地的提交数量。(如有)

    然后

    git pull origin master
    

    使我的本地更新:)

        5
  •  11
  •   Community Mohan Dere    8 年前

    一个潜在的解决方案

    多亏了 Alan Haggai Alavi's solution 我提出了以下潜在的工作流程:

    步骤1:

    git fetch origin
    

    步骤2:

    git checkout -b localTempOfOriginMaster origin/master
    git difftool HEAD~3 HEAD~2
    git difftool HEAD~2 HEAD~1
    git difftool HEAD~1 HEAD~0
    

    步骤3:

    git checkout master
    git branch -D localTempOfOriginMaster
    git merge origin/master
    
        6
  •  8
  •   iceCode    9 年前

    我经常问的问题是“回购中有什么新的或变化的东西”,所以 改变了什么 很方便。找到它 here .

    git whatchanged origin/master -n 1
    
        7
  •  1
  •   jackal    8 年前

    git status 即使在获取之后,也不总是显示主数据和源/主数据之间的差异。 如果你想要这个组合 git fetch origin && git status 要工作,需要指定本地分支和源之间的跟踪信息:

    # git branch --set-upstream-to=origin/<branch> <branch>
    

    对于主分支:

    git branch --set-upstream-to=origin/master master
    
        8
  •  0
  •   raphael    7 年前

    既然到目前为止还没有人建议…我觉得它很有用…

    我简单地使用

    git fetch origin
    

    要获取远程更改,然后我使用nice gitk工具查看本地和挂起的远程提交(及其相关的更改)。 ( https://git-scm.com/docs/gitk )包括所有的争论

    gitk --all