2016-10-06 85 views
1

我有一個擁有子模塊的git存儲庫。通常我使用相同的提交消息來提交repo和submodule。目前,當我想將我的回購和子模塊,我做了以下內容:在git子模塊中提交foreach

cd submodule 
git add --all 
git commit -m "message" 
git push 
cd .. 
git add --all 
git commit -m "message" 
git push 

我想一個別名,讓我用一個命令做到這一點如

git commit-including-submodule "blah" 

聽起來很簡單,但我有一些問題與別名。我得到的最接近如下:

[alias] 
    commit-including-submodule = "!f() { \ 
     if [ -u $1 ]; then \ 
      echo "commit message required"; \ 
     else \ 
      git submodule foreach 'git add --all && git commit -m \"$1\"'; \ 
      git add --all && git commit -m $1; \ 
      echo "success"; \ 
     fi; \ 
     }; f" 

然而,在子模塊提交消息

混帳添加--all & & git的承諾-m 「$ 1」

是的,這是實際的提交消息,這似乎有點奇怪。我一直無法弄清楚這一點。任何人都可以幫忙嗎?

謝謝。

回答

0

它看起來像你可能不會成功地逃脫報價。我認爲這應該工作。

[alias] 
    commit-including-submodule = "!f() { \ 
     if [ -u $1 ]; then \ 
      echo "commit message required"; \ 
     else \ 
      git submodule foreach 'git add --all && git commit -m '"$1"'; \ 
      git add --all && git commit -m $1; \ 
      echo "success"; \ 
     fi; \ 
     }; f" 
相關問題