【问题标题】:Is there a way to check if a remote git repo has changes, without actually getting the changes?有没有办法检查远程 git repo 是否有更改,而无需实际获取更改?
【发布时间】:2020-08-29 17:54:56
【问题描述】:

我想编写一个快速脚本来检查远程存储库与本地存储库相比是否有更改,然后拉取所有分支的所有更改(如果有)。

有没有一种方法可以做到这一点,而无需首先拉动所有更改?

我在 git remote update 周围看到的所有内容,实际上都是下载内容等,而且对于许多 repos 来说速度很慢。

将此视为一种试运行:经常为许多存储库运行此脚本,然后运行另一个脚本以根据第一个脚本的报告实际更新本地存储库。

【问题讨论】:

  • 如果有任何更改你要做的事情就是拉取它们,为什么你要检查更改而不拉任何东西。
  • 这能回答你的问题吗? How to preview git-pull without doing fetch?
  • @jonrsharpe 它做的第一件事是 git fetch,它仍然是一个完整的下载 :( 关于原因,这是因为我想知道那些许多 repos 的变化,有时是更新将是手动的,有时现在不会完成,有时会通过第二个繁重的脚本完成。无论如何,用例是有效的,我想知道这可能吗?
  • git ls-remote https://github.com/githubtraining/hellogitworld.git 怎么样?这应该只获取提交哈希列表。
  • @Robert, git ls-remote 似乎是我想要的。如果您将其添加为答案,我会将其标记为正确。谢谢??????

标签: git


【解决方案1】:

thisSO。

TLDR

git remote update
git status -uno

git fetch --dry-run

【讨论】:

    【解决方案2】:

    从技术上讲,没有办法只查找更改而不将它们下载到本地副本,但是,您会找到最接近的命令是 git fetch。从技术上讲,它会从远程存储库下载更改,但不会将它们应用于您的工作分支,只会更新本地参考中的远程分支。

    更多信息在这里:https://git-scm.com/docs/git-fetch

    【讨论】:

    • 嗯...从技术上讲,有。我想知道有更改(应该是轻量级的),而不是获取更改(这可能意味着通过慢速网络连接下载了十亿个文件)。
    【解决方案3】:

    如果您只想查看远程存储库的更改列表而不与本地存储库进行比较,您可以使用 git 的ls-remote 命令:

    git ls-remote https://github.com/githubtraining/hellogitworld.git 
    

    它显示以 HEAD 开头的远程存储库的提交哈希列表:

    git ls-remote https://github.com/githubtraining/hellogitworld.git
    ef7bebf8bdb1919d947afe46ab4b2fb4278039b3        HEAD
    a9095e79eaafd9f11a9d12e5a1ae125fde81a5eb        refs/heads/bisect
    26479b0b606bc322e0b53226e44f343614bf06b6        refs/heads/fbaddfiles
    c975e0e9a00f5f902877b0830a52010691586266        refs/heads/fbmaster
    e650f374002f860d56ecad63b6fab7387a607642        refs/heads/feature_division
    57d0bf61e57cdacb309ebd1075257c6bd7e1da81        refs/heads/feature_division_polished
    7c0ffa9d88616972bb84befbec40a2212478149e        refs/heads/feature_image
    3c9306fcc7c41a88a37514a1f4c8d43459eaf966        refs/heads/feature_subtraction
    818f033c4ae7f26b2b29e904942fa79a5ccaadd0        refs/heads/feature_subtraction_polished
    ....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 2015-12-26
      • 1970-01-01
      • 2018-07-27
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多