从github git clone 工程,子模块更新

如果你想获取某个特定的标签(tag)或者分支(branch)的代码,可以使用 Git 命令来进行克隆并指定要获取的标签或分支。以下是具体的步骤:

  1. 克隆仓库: 使用 git clone 命令来克隆仓库,但在克隆命令中指定要获取的分支或标签。假设你要获取的是名为 xxV1.1 的分支:
git clone -b xxV1.1 <repository_url>

 

或者,如果你要获取的是某个标签,比如 v1.0

git clone --branch v1.0 <repository_url>

 

其中 <repository_url> 是仓库的 URL。

  1. 初始化并更新子模块(如果有): 如果被克隆的仓库包含子模块,记得按照前面提到的方法初始化和更新子模块。
 
git submodule init
git submodule update

## 当子模块里面还有子模块的时候,用这个会好使一些
git submodule update --init --recursive

 

这样你就能够获取到指定标签或分支的代码了。如果要获取其他分支或标签的代码,只需要修改 -b--branch 后面的参数即可。


 

 

子模块问题:

如果你在克隆工程时,`more` 文件夹是空的,很可能是因为它是一个 Git 子模块,并且没有初始化或更新。你可以按照以下步骤来下载 `more` 文件夹中的内容:

1. **初始化子模块:** 在你克隆的工程根目录下执行以下命令,来初始化子模块

比如:你 使用 git clone  xxx  下载了boost库,此时你需要 cd boost  ,这样才进入了 克隆工程的根目录。

git submodule init

 

2. **更新子模块:** 执行以下命令,来更新子模块的内容:

git submodule update

这样,Git 会尝试连接到子模块对应的远程仓库,并下载子模块的内容到本地。

如果 `more` 文件夹仍然是空的,可能是因为它的内容不在默认的分支或者提交上。你可以进入 `more` 文件夹,然后切换到特定的分支或提交来获取内容。假设你要切换到主分支(通常是 `master` 或 `main`):

 

cd more
git checkout master # 切换到主分支

 

如果 `more` 文件夹是一个空的 Git 仓库,你也可以尝试重新初始化和更新子模块,可能是因为在初始化时出现了问题:

git submodule deinit more # 可选,用于清理子模块的状态
git submodule update --init --recursive more # 初始化并更新子模块

通过以上步骤,你应该能够成功下载 `more` 文件夹中的内容。如果仍然遇到问题,请确保你有权限访问子模块对应的远程仓库,并且检查一下是否有任何错误信息提示。

 

posted @ 2024-04-02 08:14  He_LiangLiang  阅读(152)  评论(0编辑  收藏  举报