Mac/Linux: 一条命令自动递归拉取当前下所有git仓库的代码

简介: 随着仓库越来越多,特别是公司的一大堆子仓库....每次都要手动fetch或者rebase,对我来说挺痛苦的~~~所以我选择了用脚本来解决我的痛点...第二版(2020-11-26): www.yuque.com/crper/blog/…

网络异常,图片无法展示
|


前言


随着仓库越来越多,特别是公司的一大堆子仓库....


每次都要手动fetch或者rebase,


对我来说挺痛苦的~~~


所以我选择了用脚本来解决我的痛点...


第二版(2020-11-26): www.yuque.com/crper/blog/…


效果图


网络异常,图片无法展示
|


注意点


  • 仓库需要至少关联一个远程分支
  • 拉取的仓库有改动记得提前stash(干净更好)


虽然这两个问题没解决也问题不大,


只是抛出git的一些异常警告,并不会中断其他仓库的拉取


实现代码


multiple-git-pull.sh


递归匹配


#!/bin/zsh
find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull --rebase" \;
# 命令剖析
# 没有控制目录层级就会一直往下找!
# 就是寻找当前及子目录为.git的,找到就执行一条sh(sh -c是把紧接着的字符串当做命令解析)
# shell 就是依次进入到匹配项
## pwd 打印当前路径(cd 后就是进去的路径)
## git pull --rebase(就是变基远程代码到本地,保证记录的一致性!)


限制查找层级


# 当然find还有很多实用的参数,我们可以更加细化的配置,
# 比如聚目录查找层级: maxdepth(最大)  , mindepth(最小) 
find . -maxdepth 3 -type d -name .git  -exec sh -c "cd \"{}\"/../ && pwd && git  pull --rebase" \;


# 然后在对应的shell的配置文件写个alias...
# 代码也很简单,就是一些Linux的基础语法,
# 执行用户家目录对应的脚本路径..
# .是一种姿势
# shell(bash / zsh) + scripts也是一种
# 还有一两种,但是常用的基本上面两种
# 若是不能执行记得chmod a+x scripts(赋予脚本执行权限)
alias mrf=". ~/Code/multiple-git-pull.sh"
目录
相关文章
|
3月前
|
安全 网络安全 开发工具
Mac电脑多平台Git账号设置
通过配置SSH密钥与config文件,可为GitHub、Gitee等平台分配独立密钥,实现自动识别与认证。生成密钥后,将公钥添加至对应平台,并在~/.ssh/config中设置主机别名与密钥路径。此后使用SSH地址克隆仓库,Git将自动选用正确密钥,免去手动切换与密码输入,提升效率与安全性。(238字)
361 2
|
2月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
323 103
|
3月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
562 15
|
6月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
445 57
|
5月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
441 2
|
4月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
1652 0
|
7月前
|
存储 项目管理 开发工具
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
202 20
|
7月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
6月前
|
开发工具 git 索引
如何使用Git的暂存区来管理代码更改?
如何使用Git的暂存区来管理代码更改?
1058 0
|
6月前
|
Linux 开发工具 git
解决 Linux git push 成功后(但没有出现绿点)的问题
最近学习使用Git,发现有时候在Linux下提交自己的小绿点并没有增加,单在仓库中却可以看到提交的代码。看着连续的绿点中出现几个零零散散的灰点,着实让一个强迫症患者十分难受。接下来分享以下我所知道的问题。
186 0