git - 我如何定义一个 git 'remote.' 用于获取?
问题描述
我与其他人一起参与了几个项目,这些项目根据客户的要求而发展。很多时候,我完全沉浸在我目前的工作中,没有得到关于其他项目的最新进展。所以我每天早上都会做一次“完整的抓取”,这样我就不会完全迷路。我已经制定了一个为我执行此操作的 shell 脚本,因此它会更改为每个项目的目录,显示它的位置,然后获取(不拉)并将我返回到我所在的位置(注意,它都是一行,只是坏了它有助于阅读):
$ pushd . && cd /W/Git/project1 && pwd && git fetch
&& cd /W/Git/project2 && pwd && git fetch
&& cd /W/Git/project3 && pwd && git fetch && popd
我刚读了一点关于远程的东西。将更新为git fetch
:
git fetch 可以从单个命名存储库或 URL 中获取,或者如果给定并且有远程,则可以一次从多个存储库中获取。配置文件中的条目。
所以我认为git fetch remote.<group>
这很适合我可怕的命令行的目的,简化维护和内存。但是我找不到直接参考如何定义这样的remote.<group>.
任何人都可以给我一个命令行示例吗?
解决方案
一个git fetch
命令正在处理一个 git 项目。文档说git fetch
允许获取多个遥控器,但它仅适用于一个项目。默认情况下,如果同步获取遥控器(并且从 git 2.24 可以并行完成),但它仍然适用于一个 git 项目。
如果您想从多个项目中并行获取它们,您确实需要运行单独的git fetch
命令。我建议您不要cd
进入 git 项目,而是只需调用git
带有-C
参数的命令,然后您可以从任何工作目录调用此命令。
因此,您有问题的示例可能如下所示:
$ git -C /W/Git/project1 fetch && git -C /W/Git/project2 fetch && git -C /W/Git/project3 fetch
您可以使其并行,但如何做到这一点取决于您使用的外壳。我在 bash 中不是那么好,但这是我尝试使用 bash&
在后台执行命令并wait
内置以等待所有命令完成:
git -C /W/Git/project1 fetch -v & git -C /W/Git/project2 fetch -v & git -C /W/Git/project3 fetch -v & wait
这里三个git fetch -v
命令在后台执行,您等待所有命令完成。我添加了-v
详细参数以更好地查看执行的内容。
您也可以尝试循环执行:
for project in /W/Git/project1 /W/Git/project2 /W/Git/project3 ; do echo "fetching for $project"; git -C $project fetch & done ; wait
奖励:我如何定义 git 'remote'。拿来?
这回答了标题中的问题。您现在知道这不是您要寻找的,因为定义remote.<group>
仅适用于一个 git 项目。但我实际上找到了您的问题,因为我正在搜索如何定义此remote.<group>
配置但一无所获。所以也许有人会觉得它很有用。
要定义命名的远程组,请编辑您的 git 配置(打开.git/config
或执行git config --edit
)并添加如下内容:
[remotes]
group1 = remote1 remote2 origin
group2 = remote55 remote66
组中的遥控器由空格分隔。现在您可以使用此组名称git fetch group1
,甚至可以从多个组(如git fetch --multiple -j4 group1 group2
.
推荐阅读
- sql - 在 oracle SQL 中使用 UTL_mail 包时,我可以在电子邮件正文中使用变量值吗
- python - NumPy 卷积定理
- javascript - intl.NumberFormat 显示 es-ES 货币格式的错误结果
- kotlin - 用 Mockito 在 Kotlin 中模拟队列似乎不起作用
- reactjs - 使用功能组件反应 MapboxGL 渲染问题
- r - 它如何在其中存储更多索引值?
- android - 尝试构建颤振应用程序时,评估失败
- python-3.x - 以 root 身份运行 paho mqtt 时出现导入错误(sudo python3 filename.py)
- eclipse - 转换为 Maven 后,Eclipse 项目找不到 Java 13 类
- sql - 为什么这个访问查询有效而另一个无效?