gip*_*any 4 git git-submodules
我的个人存储库有一些存储库作为子模块.以及以下命令
$ git submodule foreach git pull origin master
Run Code Online (Sandbox Code Playgroud)
在进入ruby存储库后面对以下结果,因为ruby存储库似乎没有主分支并且"git pull"停止了.
Entering 'rails'
From git://github.com/rails/rails
* branch master -> FETCH_HEAD
Already up-to-date.
Entering 'roo'
From git://github.com/hmcgowan/roo
* branch master -> FETCH_HEAD
Already up-to-date.
Entering 'ruby'
fatal: Couldn't find remote ref master
Stopping at 'ruby'; script returned non-zero status.
Run Code Online (Sandbox Code Playgroud)
所以我的问题是what should I do to git pull for all of submodules only by git command?我应该为此制作一个剧本吗?我希望git提供的一个命令行可以实现这一点.
git子模块通常处于分离头状态,因此git pull在合并阶段时它们无法理解您的意思。如果您想做的只是将最新更改放入存储库,请尝试git submodule foreach git fetch改为。如果您想让每个子模块master更新到各自的origin/master,那么您可以跟进git submodule foreach git checkout master; git submodule foreach git merge origin/master。
然后,当然,您需要决定您希望主存储库使用每个子模块的哪个版本(我不建议一直盲目地使用origin/master- 它可能不稳定 - 最好选择一个已知良好的标签或其他东西),检查子模块中的这些版本,并在主存储库中跟进适当的git adds 和。git commit
只需添加|| true到您的子模块命令:
git submodule foreach 'git commit -m "my commit message" || true'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1110 次 |
| 最近记录: |