方法一,先 clone 父项目,再初始化 submodule,最后更新 submodule。 初始化只需要做一次,之后每次只需要直接 update 即可,需要注意 submodule 默认是不在任何分支上的,它指向父项目存储的 submodule commit id。 git clone project.git project2 cd project2 git submodule
git Submodule 是一个很好的多项目使用共同类库的工具,他允许类库项目做为repository,子项目做为一个单独的git项目存在父项目中,子项目可以有自己的独立的commit,push,pull。而父项目以Submodule的形式包含子项目,父项目可以指定子项目header,父项目中会的提交信息包含Submodule的信息,再clone父项目的时候可以把Submodule...
记录引用Submodule的commit id 在project1中push之后其实就是更新了引用的commit id,然后project1-b在clone的时候获取到了submodule的commit id,然后当执行git submodule update的时候git就根据gitlink获取submodule的commit id,最后获取submodule的文件,所以clone之后不在任何分支上;但是master分支的commit id和HEAD保持一致。
(use "git restore --staged <file>..." to unstage) new file: .gitmodules new file: learnsub 再次提交: $ git add ./ $ git commit -m "Add submodule" [master 2f86134] Add submodule 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 learnsub $ git p...
modified: child (new commits)nochanges addedto commit (use"git add"and/or"git commit -a") 这里可以看到明显的提示,在项目有一个新的提交。为什么会这样呢?其实,Git 在顶级项目中记录了一个子模块的提交日志的指针,用于保存子模块的提交日志所处的位置,以保证无论子模块是否有新的提交,在任何一个地方克...
git submodule deinit usr/plugins/BaiduSubmit # 此时.git/config 已被重写,BaiduSubmit的相关信息已经不存在了 git rm usr/plugins/BaiduSubmit # 这时,子模块文件被删除,同时.gitmodules 文件中的相关信息被删除 # 还有一种情况,就是子模块刚被add,但是还没有commit的时候,这时如果反悔了,但是还想保留工作现场,可...
git 在主仓库切换submodule分支 git切换到指定commit 切换分支是 git checkout 最常见的功能,这里不做介绍,今天主要介绍下它在撤销文件改动上的应用。 // 放弃单个文件修改,注意不要忘记中间的"--",不写就成了检出分支了 git checkout -- filepathname
$ git commit -m 'commit firstly' $ git add forgotten_file $ git commit --amend 1. 2. 3. 在add后,取消暂存文件 $ git add . $ git status On branch master Your branch is up to date with 'origin/master'. Changes to be committed: ...
git commit -am "Remove submodule" 解决的问题:有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者你独立开发的,用于多个父项目的库。现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
此时其会在main-project文件夹下创建sub-project submodule,如下图 运行git status查看目前状态 $ git status On branch master Your branch is up to date with 'origin/master'. Changes to be committed: (use "git restore --staged <file>..." to unstage) ...