可以说我有多个独立的子项目,它们都有自己的pom.xml和git-repo。 但是现在我将它们组装到一个项目X中。
project X
- sub A
- sub B
- sub C
我想在X中生成所有子项目。我使用pom.xml将项目A到C作为模块来执行此操作。 X的生成将概括所有项目。 效果很好!
是否有办法将git-repos一起汇总? X中的提交应在每个项目中执行提交。相同的更新,...
答案 0 :(得分:2)
git submodule
提供了用于遍历所有子模块的实用程序:
在当前项目中的每个子模块中执行git commit
的命令如下:
git submodule foreach "git commit"
为方便起见,我制作了一个简单的bash脚本,该脚本在当前项目及其所有子模块中运行任意命令。这样,我不必两次键入命令(一次输入父项目,然后再次输入git-submodule-foreach)
#!/bin/bash
set -e
if [ "$*" == "" ]; then
echo "Usage: $0 COMMAND"
echo
echo "Run an arbitrary COMMAND in the current git repository plus all of the submodules"
echo
exit 1
fi
echo "Entering '.'"
# run the command in PWD
"$@"
# now run the command on submodules
git submodule foreach "$*"
将git-foreach
可执行文件放在$PATH
中的某个位置,然后在git repo中运行它:
# describe the commit at HEAD for the project and all subprojects:
git foreach git describe
答案 1 :(得分:0)
git没有Maven那样的“子项目”概念。
要完成您想要的操作,我在计算机上设置了(bash)功能:
git-all ()
{
find ~/workspace -name .git -type d -print -execdir git "$@" \;
}
查找命令:
所以我可以做类似的事情:
git-all commit -m "my commit"