git-同时签出2个项目
我有两个项目A和B(都是独立的git项目),看起来像这样:git-同时签出2个项目,git,Git,我有两个项目A和B(都是独立的git项目),看起来像这样: A/some files A/B/some more files 我在A中添加了B,但当我尝试提交A时,上游回购中没有B的迹象,我认为这是因为B是它自己的git项目 我假设这与子模块有关,但简言之,我可以简单地使用一个git checkout命令同时签出两个项目吗?或者我需要进行两次单独的命令行调用吗?e、 g git checkout A; git checkout B; 它们是两个独立的git项目。他们有自己的回购协议,有自己的
A/some files
A/B/some more files
我在A中添加了B,但当我尝试提交A时,上游回购中没有B的迹象,我认为这是因为B是它自己的git项目
我假设这与子模块有关,但简言之,我可以简单地使用一个git checkout命令同时签出两个项目吗?或者我需要进行两次单独的命令行调用吗?e、 g
git checkout A; git checkout B;
它们是两个独立的git项目。他们有自己的回购协议,有自己的头脑。因此,不可以。默认情况下,您不能使用一个命令 每个.git文件夹都包含所有回购信息 这就是git知道要推到哪里以及它指向的头/回购的地方。git只知道当前目录中带有.git目录的git repo 进一步澄清: 如果您在项目B中进行了更改,然后在项目a中进行了提交
git add .
git commit -m "I'm in project A directory"
这只会影响回购协议A。因此
git clone {url to B}
不会反映这些变化它们是两个独立的git项目。他们有自己的回购协议,有自己的头脑。因此,不可以。默认情况下,您不能使用一个命令 每个.git文件夹都包含所有回购信息 这就是git知道要推到哪里以及它指向的头/回购的地方。git只知道当前目录中带有.git目录的git repo 进一步澄清: 如果您在项目B中进行了更改,然后在项目a中进行了提交
git add .
git commit -m "I'm in project A directory"
这只会影响回购协议A。因此
git clone {url to B}
不会反映这些变化它们是完全独立的git回购协议,因此彼此不了解。因此,命令仅对活动的repo生效。使用命令“git rev parse--git dir”查看活动的git repo 调用您显示的命令行将不起作用,因为默认情况下,git根据当前目录确定活动存储库和工作树。改用
cd path_to_A/A
git rev-parse --git-dir
git checkout MyBranchInA
cd B
git rev-parse --git-dir
git checkout MyBranchInB
未涉及Git子模块,因为它们尚未设置。您可以使用“git submodule add”设置一个,另请参见“git sub tree”,它只做了(他们说的)更好的事情。有关这些命令的帮助,请参见“git help submodule”和“git help subtree”它们是完全独立的git repo,因此彼此不了解。因此,命令仅对活动的repo生效。使用命令“git rev parse--git dir”查看活动的git repo 调用您显示的命令行将不起作用,因为默认情况下,git根据当前目录确定活动存储库和工作树。改用
cd path_to_A/A
git rev-parse --git-dir
git checkout MyBranchInA
cd B
git rev-parse --git-dir
git checkout MyBranchInB
未涉及Git子模块,因为它们尚未设置。您可以使用“git submodule add”设置一个,另请参见“git sub tree”,它只做了(他们说的)更好的事情。有关这些命令的帮助,请参阅“git help submodule”和“git help subtree”