自動更新本地 GIT 倉庫


隨着開源軟件的興起,尤其是 GITHUB 的蓬勃發展,很多開源軟件都通過 GIT 進行管理,在我的計算機上就一個目錄是我關注並使用的開源軟件 GIT 本地副本,如何定期更新這些倉庫,一個個的更新太累人了,那不是一個合格的程序員干的活,肯定要寫腳本來處理啦,首先是在 windows 平台上,那就用 bat 來處理吧,隨說沒有 shell 腳本強大,對付目前我的需求還是可以的。

考慮到開源倉庫的目錄包含不同的層次,例如在 Images 目錄下就有各種開源的圖形庫,因此要能夠自動找出所有 GIT 倉庫,哪怕是在子目錄里面,然后對每一個 GIT 倉庫進行 git pull 操作,這樣一個批處理直接搞定

下面就是完成的批處理文件

@ IF $%1 == $ GOTO GITDIR

:UPDATE
@ SET REPOS=%1
@ CD %REPOS:~0,-5%
@ ECHO Pulling [%CD%] ...
@ git pull
@ GOTO FINISH

:GITDIR
@ FOR /F %%I IN ('DIR /B /S /AD .git') DO @ CALL %0 %%I

:FINISH
@ CD %~DP0

其中需要注意的是

1、找到 GIT 倉庫,使用 DIR 查找 .git 目錄的方法找出所有的 git 倉庫

2、進入正確的目錄,使用 @ CD %REPOS:~0,-5% ,將目錄字符串后面的 /.git 去除掉

3、更新倉庫后需要回到批處理文件所在的目錄

當然可以把更新倉庫的代碼直接寫在 FOR 語句里面,這就是個人喜好問題了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM