【问题标题】:Git update log of a bare repository裸仓库的 Git 更新日志
【发布时间】:2018-05-26 19:25:42
【问题描述】:

我需要定期提取几个存储库的所有分支的 git 日志。 虽然我可以克隆它们然后执行 git fetch,但我考虑节省一些磁盘空间和时间,并且只将它们克隆为裸机:

git clone --bare repoUrl

克隆后,所有日志和分支都是最新的。 我可以发出git log --all,我可以看到克隆时刻之前的所有变化。

但是,当远程存储库更新时,我无法从远程存储库中获取更改。 IE。如果我发出: git fetch --all 然后git log --all,我没有看到远程仓库中发生的任何变化。

当远程接收到新的提交时,我如何更新本地存储库的状态?

我试过了:

  • git fetch 但它似乎没有得到任何更新(即git log --all 没有显示任何变化)。
  • git fetch origin master:master 只更新 master 分支
  • git branch -r 不显示任何内容
  • git branch -a 仅显示克隆时可用的分支
  • git remote -v 正确显示了远程仓库的 url。

【问题讨论】:

  • 我很困惑,你想做什么?

标签: git logging bare


【解决方案1】:

我发现阅读此answer 的解决方案与类似问题相关(我只需要提取日志,而不是提取代码)。

克隆后,我要补充:

git config remote.origin.fetch "+*:*"

以便 git 可以跟踪所有分支,甚至是远程分支。 然后,发出git fetch --all --prunegit log --all 我可以看到所有的变化。

【讨论】:

    【解决方案2】:

    git fetch --all 之后使用git log --remotes 来获取远程分支的日志。

    【讨论】:

      猜你喜欢
      • 2013-02-01
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 2018-08-26
      • 2018-11-25
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      相关资源
      最近更新 更多