一些技术博客写的很详细,但不适合新人学习。官方文档很全面,适合了解详细命令,但主次不分明。本文会根据我的大量的 submodules 实践经验(包括工作和个人开发),只解释常用的命令。...(仓库地址) src/B(你希望 submodule 位于的文件夹路径)submodule 的父子关系存在哪里关系是保存在主项目的 Git 仓库中。...我们可以进入B文件夹cd B,你会发现在B中,也可以执行git status等命令,此时的git命令都会是针对仓库B的,你可以在这里切换分支、提交更新,这时候,提交的都是submodule的变更。...图片下面是git diff:图片如何在主项目仓库,拉取 submodule 的更新方法一,cd submodule 后 git pull在 submodule 中,所有git操作就当作一个普通的 Git...使用以下命令:git submodule update --init [submodule的文件夹的相对路径]注意顺序,--init跟[submodule的文件夹的相对路径]的位置不可以调换噢。
常用命令 git submodule 涉及的常用功能有: git clone –recursive :递归的方式克隆整个项目 git submodule add <repository...子模块的添加 git submodule add 其中,url 为子模块的路径,path 为该子模块存储的目录路径。...执行成功后,git status 会看到项目中修改了.gitmodules,并增加了一个新文件夹(为刚刚添加的路径) 使用命令 git status 可以看到多了两个需要提交的文件,其中 .gitmodules...指定submodule 的主要信息,包括子模块的路径和地址信息,moduleA 指定了子模块的commit id,使用 git diff 可以看到这两项的内容。...使用 git add 后只增加了文件夹,但是没有文件。
情景1: 拥有对子模块远程仓库权限,直接修改子模块路径中的文件 本地开发调试子模块结束后, 进入子模块路径 add, commit, push, 然后主项目 git add 子模块路径,git commit..., .git/config 中 submodule 信息 git submodule add # 此时确定 commit 引用 # PS: git submodule init...--recursive 添加子仓库 git submodule add 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) 命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。...// 初始化本地配置文件 $ git submodule init // 检出父仓库列出的commit $ git submodule update 或者是执行以下命令(该命令效果等同于上面两个命令)
幸运的是,万能的Git有个叫子模组(git submodule)的命令完美地帮我们解决了这个问题。...添加子模块 为当前工程添加submodule,命令如下: git submodule add 仓库地址 路径 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) 命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。...下载的工程带有submodule 当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令: git submodule...更新submodule的URL 1.更新.gitsubmodule中对应submodule的条目URL 2.更新 .git/config 中对应submodule的条目的URL 3.执行 git submodule
项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率,本文主要讲解子模块相关的基础命令,详细使用请参考man page。...子模块的添加 命令如下: git submodule add 其中: url为子模块的路径 path为该子模块存储的目录路径。...执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加的路径) git diff --cached查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交...需要在项目根目录执行如下命令完成子模块的下载: git submodule init git submodule update 或: git submodule update --init --recursive...删除配置项中子模块相关条目 rm .git/module/* 删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可 执行完成后,再执行添加子模块命令即可,如果仍然报错
默认情况下,子模块会将子项目放到一个与仓库同名的目录中,本例中是 “DbConnector”。 如果你想要放到其他地方,那么可以在命令结尾添加一个不同的路径。...在 git status 输出中列出的另一个是项目文件夹记录。...拉取上游修改 在项目中使用子模块的最简模型,就是只使用子项目并不时地获取更新,而并不在你的检出中进行任何更改。 我们来看一个简单的例子。...如果你没有提交子模块的改动,那么运行一个子模块更新也不会出现问题,此时 Git 会只抓取更改而并不会覆盖子模块目录中未保存的工作。...那些改动只存在于我们本地的拷贝中。 为了确保这不会发生,你可以让 Git 在推送到主项目前检查所有子模块是否已推送。
新建仓库 init git init #初始化 status git status #获取状态 add git add file # .或*代表全部添加 git rm --cached <added_file_to_undo...rsync://example.com/path/to/repo.git/ submodule git submodule add --force 仓库地址 路径 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) git submodule init 初始化submodule git submodule update...更新submodule(必须在根目录执行命令) 当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令: git...alias.ci commit 配置好后再输入git命令的时候就不用再输入一大段了,例如我们要查看状态,只需: git st 其它 git help * # 获取命令的帮助信息 git status
首次使用,不懂如何操作,可以输入git命令,或者git help命令或者git help -a(git help -g)命令来查看git提供了哪些命令。如下图: ? 这里只截图了部分命令。...src/main/webapp/ui-libs 初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行 更新子模块:$ git submodule update...,每个元素占一行即可,如 target bin *.db ===================== Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态...git rm 文件名(包括路径) 从git中删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --...a.a 移除文件(只从暂存区中删除) git commit -m "remove" 移除文件(从Git中删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除) git
quiet] absorbgitdirs [--] […] 看完后其实也差不多明白了,比其他git命令多了个 submodule 关键字,先不看submodule命令,有submodule...2.解析git命令 常用命令如下 git clone --recursive //递归的方式克隆整个项目 git submodule add <path...使用git status可以看到多了两个需要提交的文件,其中.gitmodules指定submodule的主要信息,包括子模块的路径和地址信息,moduleA指定了子模块的commit id,使用git....git/config中不会有submodule信息。...git submodule update出现此问题,是因为终端用的不是windows自带的cmd,用自带的cmd打开执行此命令即可
以下是创建和管理 Git 子模块的基本步骤: 添加子模块:在父仓库的根目录中,使用以下命令添加子模块: git submodule add 其中,仓库URL 是子模块仓库的...URL,路径 是子模块在父仓库中的相对路径。...初始化子模块:运行以下命令来初始化子模块: git submodule init 这将初始化父仓库中的子模块配置。...提交子模块的更改:在子模块仓库中进行更改后,需要提交这些更改并推送到远程子模块仓库。 TIP:父仓库中只保存了子模块的引用,子模块本身的内容存储在子模块仓库中。...将父仓库中的子模块配置文件(如 .gitmodules)纳入版本控制,以确保每个人都有相同的子模块配置。 定期更新子模块: 定期更新子模块以获取最新的更改。
// 初始化子模块 git submodule update // 更新子模块与主仓库中的子模块代码同步 // or git submodule update --init // or 嵌套的(子仓库中包含子仓库...你必须运行两个命令:git submodule init 用来初始化本地配置文件,而 git submodule update 则从该项目中抓取所有数据并检出父项目中列出的合适的提交。...如果给 git clone 命令传递 --recurse-submodules 选项,它就会自动初始化并更新仓库中的每一个子模块, 包括可能存在的嵌套子模块。...例如,你想要 DbConnector 子模块跟踪仓库的 “stable” 分支,那么既可以在 .gitmodules 文件中设置 (这样其他人也可以跟踪它),也可以只在本地的 .git/config 文件中设置...这点可通过 git status 命令看到,它会显示子模块“已修改”,且“有新的提交”。
如果再进一步, 把这些模块都划分为一个小的子系统,每个开发人员只负责自己的模块,并且只能有权限拉取自己的代码,这样他就没法获取到一个项目中所有模块的代码了。...不论如何,经过这篇文章,你可以学习、了解下面这几个方面的知识点: Jenkins 的基本使用方法; git submodule 的基本指令用法; 通过三个 demo 项目,一步一步操作实现代码的安全管控...Jenkins 首先通过 git 工具获取远程仓库中的代码,然后执行用户指定的编译指令。...需要手动获取所有的子模块,执行指令: git submodule update --init --recursive 此时,再使用 tree 命令看一下文件变化,可以看到 test1 和 test2...subtree直接把子模块代码拷贝到主模块中,使用命令简单; submodule 使用的是“指针”指向子模块,使用命令相对复杂一些,功能也更强大; 4.
)相关操作命令 添加子模块:$ git submodule add [url] [path] 如:$git submodule add git://github.com/soberh/ui-libs.git...src/main/webapp/ui-libs 初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行 更新子模块:$ git submodule update...,每个元素占一行即可,如 target bin *.db ===================== Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态 git...文件名(包括路径) 从git中删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户...commit的日志 git diff 查看尚未暂存的更新 git rm a.a 移除文件(从暂存区和工作区中删除) git rm --cached a.a 移除文件(只从暂存区中删除) git commit
涉及到的有: cmake的变量作用域? cmake中的数据结构? 宏函数与函数? 如何去构建动静态库和找到这些库? 如何去实现支持多平台的项目构建? 如何去构建一个应用?...区别于TARGET_INCLUDE_DIRECTORIES,这个命令的作用只是作用于指定的目标,为指定的目标添加搜索路径。...随着代码管理工具 git 出现并被广泛使用,git submodule 提供了一种不错的源码级依赖管理办法。...实现版本的管理,需要能够在编译过程中清楚的体现当前版本号,在软件中也能够获取版本号。...当然你可以不用git submodule,直接将源码手动放入3rdparty目录中。
模块化与组件化 最近一直在研究客户端的组件化/模块化问题,除了将项目拆分为多个小的子模块,还会涉及到多个子模块管理的问题。下面说一些在模块化开发中的一些基本知识。...组件(CommonRes ) 中。...常用命令 git submodule涉及的常用功能有: git clone –recursive :递归的方式克隆整个项目 git submodule add <repository.../moduleA.git moduleA git status git diff git add . git commit -m "add submodule" git push origin master...使用命令git status可以看到多了两个需要提交的文件,其中.gitmodules指定submodule的主要信息,包括子模块的路径和地址信息,moduleA指定了子模块的commit id,使用git
老高最近的项目用到了git的submodule,期间遇到了很多坑,比如: 如何更新submodule 如何修改并提交submodule 如何将submodule的变更在父项目中提交 在弄明白这些问题之前...其实父项目与子模块(submodule)之间的关系很松散,父项目基本只关心子模块的地址以及版本(commit id)。...如何更新submodule 当clone项目时有子模块存在时,第一次是不会顺便clone出子模块的,需要执行一些命令: git clone xxx.git # 初始化子模块 git submodule...文件中的相关信息被删除 # 还有一种情况,就是子模块刚被add,但是还没有commit的时候,这时如果反悔了,但是还想保留工作现场,可以这样。...git status # modified: xx/xxxx/xxxx (new commits) # add的时候注意再最后不要加 / 斜杠,否则会出现很棘手问题 git add xx/xxxx
Git Submodule 近期用到了这个命令,主要是为了实现在一个git仓库中,引入其他git仓库,这种适用于你想在主工程中引入其他library库,主工程以submodule的形式包含子工程,子工程可以有自己的...修改Submodule 进入submodule. cd android 我这里的submodule是android. 这时我修改了android工程里面的内容,git status一下: ?...提交submodule的内容到远程: git add . git commit -m "嵌入React Native" git push 提交后,看下Submodule在主工程中的变更: cd .. git...在主工程根目录运行以下命令: git submodule foreach git pull 还需要更新下submodule: cd android git pull ok,这样其他团队成员就能拉到最新的工程代码啦...总结 关于如何在RN工程中通过submodule方式引入android工程已经大致实操了一遍,还有clone submodule和remove submodule的操作就不演示了,可以参考下面提供的链接
之前有说过另外一个 Git Submodule,两个的作用基本类似 不过 Git Submodule 这是 Git 官方以前的推荐方案。...> git subtree split --prefix= [OPTIONS] [] --prefix之后的=等号也可以用空格 在父仓库中新增子仓库 例:执行以下命令将git-submodule...添加到git-subtree中 语法:git subtree add --prefix $ git subtree add --prefix git-submodule...git@github.com:sy-records/git-submodule.git master --squash --squash参数表示不拉取历史信息,而只生成一条 commit 信息 执行git...# 推送到 git-subtree 仓库 $ git push 简化 git subtree 命令 我们已经知道了git subtree的命令的基本用法,但是上述几个命令还是显得有点复杂,特别是子仓库的源仓库地址
♣ 题目部分 在Oracle中,如何获取trace文件的路径?...♣ 答案部分 跟踪文件(Trace File)一般位于“user_dump_dest”参数所指定的目录中,具体路径可以通过以下几种方式查询获得。...T.THREAD#) = V.VALUE)) I, (SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest') D; 创建公共同义词的命令如下所示...oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc 2、Oracle 11g可以通过查询V$DIAG_INFO获取...trace文件的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2125659 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
领取专属 10元无门槛券
手把手带您无忧上云