【问题标题】:Refresh my local git repo to the contents of remote repo刷新我的本地 git repo 到远程 repo 的内容
【发布时间】:2016-10-01 12:08:23
【问题描述】:

我正在编写一个程序,每周汇总一个 repo 的所有分支的数据。

程序将检查 15-20 个 repos。基本上我需要将我的本地 git repo 重置为与远程相同的东西。我不会有任何本地更改。但是,如果有更改,我将在每个分支的提交之间切换以生成报告。因此,分支将始终处于较旧的提交上。不确定这是否会在随后的 git pull 调用中搞砸?

代码现在是这样的:

git clone <repo>
git pull --progress --verbose

然后获取分支列表并检查每个分支在该周是否有新提交,并汇总有关它们的报告。顺便问一下,有没有办法一次对所有分支进行 git pull ?

最好的方法是什么?

我开始在谷歌上搜索,发现了很多东西,例如 git clean、git fetch、git pull (git merge/fetch) 等。

git pull 会在这里工作吗?还是最好删除所有文件并再次克隆?如果 git pull 只会抓取最新的提交,我宁愿通过多次克隆相同的东西来避免不必要的开销。

谢谢!

【问题讨论】:

    标签: git git-pull


    【解决方案1】:

    抓取

    fetch 将获取 .git 目录中定义的所有对象

    在你的情况下,这不是你想要的

    拉动

    pull 将从远程获取所有更改并将它们放入本地存储库。如果有冲突,文本编辑器会打开警告您覆盖。

    要回答您的问题,您应该发送pull,因为对于大型存储库,重新克隆它需要很长时间(如果程序是完全自主的,那么您可能必须重新克隆以解决冲突)。

    【讨论】:

    • 如果我没有进行任何本地更改,为什么会有冲突?
    • 我只是给你一个例子,你可以使用clone而不是pull
    猜你喜欢
    • 2011-01-18
    • 2018-04-25
    • 2021-07-03
    • 1970-01-01
    • 2019-08-08
    • 2017-04-10
    • 2013-03-08
    • 2014-11-01
    • 2017-03-02
    相关资源
    最近更新 更多