我正在编写一个程序,每周汇总一个仓库所有分支的数据。
该计划将通过15-20回购检查。基本上我需要重置我的本地git repo与远程的一样。我没有任何局部变化。但是,如果有更改,我将在每个分支的提交之间切换以生成报告。所以分支将永远是旧的提交。不确定这是否会导致随后的git pull调用?
代码目前做了类似的事情:
git clone <repo>
git pull --progress --verbose
然后获取一个分支列表,并检查每个分支的那一周的新提交并汇总它们的报告。顺便说一下,有没有办法一次性拉动所有分支?
最好的方法是什么?
我开始谷歌搜索并发现很多东西,如git clean,git fetch,git pull(git merge / fetch)等。
git会在这里工作吗?或者最好是删除所有文件并再次克隆?如果git pull只是抓取最新的提交,我宁愿通过多次克隆同一个东西来避免不必要的开销。
谢谢!
答案 0 :(得分:0)
fetch
将获取.git目录中定义的所有对象
在你的情况下,这不是你想要的
pull
将从遥控器获取所有更改并将它们放入您的本地仓库。如果存在冲突,文本编辑器将打开警告您有关覆盖的信息。
要回答你的问题,你应该做一个pull
因为使用大型存储库需要花费很长时间才能重新定位它(如果程序是完全自治的,那么你可能不得不重新解决冲突)。