簡體   English   中英

git -submodules / repo-如何在單獨的模塊中對一堆分支使用commit和branch?

[英]git -submodules / repo - How to use commit and branch for a bunch of branches in separate modules?

我有repo包裝器和大約十幾個不同的git存儲庫。

我想要一個補丁,以后可以通過以下方式應用/使用:

我想在所有更改的子模塊上執行以下命令:

git checkout -b all_sub_branch
git commit -a all_submodules
git format-patch all_submodules aaa.patch
git apply aaa.patch

純香草git答案(使用子模塊):

為每個子模塊完成的這種過程可以通過以下方式啟動:

git submodule foreach [--recursive] ...

帶有“ ...”的git別名將包括您的所有命令。

git submodule手冊頁

foreach

在每個檢出的子模塊中評估一個任意的shell命令。
該命令可以訪問變量$name$path$sha1$toplevel

  • $name.gitmodules相關子模塊部分的.gitmodules
  • $path是相對於超級項目的子模塊目錄的名稱,
  • $sha1是超級項目中記錄的提交,並且
  • $toplevel是超級項目$toplevel的絕對路徑。

該命令將忽略超級項目中定義但未檢出的所有子模塊。
除非給出--quiet ,否則foreach在評估命令之前會打印每個子模塊的名稱。
如果給出了--recursive ,則遞歸遍歷子模塊(即,給定的shell命令也在嵌套子模塊中求值)。


問題是android repo wrapper命令以自己獨特的方式執行git子模塊的工作。
因此, git submodule foreach的等效項可能是: repo forall ,例如:

repo forall -c 'git status'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM