首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

把你 VS Code 打造成 C++ 开发利器

注意,实际按键只要同时按下 Alt 和 ←(或者 command 和 ←)两个键即可,不需要 + 键。是为了方便大家看到是需要按两个键才中间增加了 + 。...(2) 提交暂存、推送、拉取等功能 提交暂存、推送、拉取等功能 签出到主要是首次使用 git 命令 glone 仓库下,用 VSCode 打开后这里不会展示分支名,而是一个一个 commitid,所以要收到签出到对应分支名...4.4.4 git 相关其他插件 GitLens 它会显示有 git 有关所有代码提交信息,是在 sidebar 上二叉树图标 GitLens Git Branch Warnings Git Branch..." ] branchwarnings.protectedBranches git graph 它会显示有 git 有关所有代码提交信息,可以方便查看本地分支、远程分支、主干 commit、push...clone 可不需要--recursive 选项),通过 VSCode 打开后,Git (Submodule) Assistant 插件会自动识别并下载所有 submodule

12.2K52
您找到你想要的搜索结果了吗?
是的
没有找到

公共模块管理之 Git Submodule 使用总结

2.2 获取 submodule 使用 git submodule add 命令会自动拉取子工程项目代码到指定目录,但其他开发者获取主项目代码,使用 git clone 命令是不会拉取到子项目的代码...值得注意是,此时主项目修改是其依赖子项目的版本,而非完整变更代码,即引用子项目的 commit id。...$ git submodule update 2.3.4 子项目远程更新,主项目未更新 commit id 在多人协作开发,主项目与子项目的开发往往是异步进行,子项目升级后子项目远程仓库更新并告知主项目可以更新对子项目的版本依赖...由于当前主项目记录子项目版本还未变化,因此主项目执行 git submodule update 也不会更新,此时需要从主项目主动进入子项目执行 git pull 主动拉取新版代码,回到前面的 2.3.2...submodule 项目,主项目获取submodule commit id,然后执行 git submodule update 是根据这个 commit id 来拉取代码,所以

5K180

git submodule 完整用法整理

使用git status可以看到多了两个需要提交文件,其中.gitmodules指定submodule主要信息,包括子模块路径和地址信息,moduleA指定了子模块commit id,使用git...这里需要指出父项目的git并不会记录submodule文件变动,它是按照commit id指定submodulegit header,所以.gitmodules和moduleA这两是需要提交到父项目的远程仓库...git clone project.git project3 --recursive 2.3修改子模块 修改子模块之后只对子模块版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新子模块代码...,再用git status查看状态就会发现.gitmodules和moduleA这两都已经改变了,至于.git/config,仍会记录submodule信息,但是本地使用也没发现有什么影响,如果重新从服务器克隆则...git submodule update出现此问题,是因为终端用不是windows自带cmd,用自带cmd打开执行此命令即可

4.6K20

Git Submodules 介绍(通俗易懂,总结了工作完全够用 submodule 命令)

我使用方案中,Git Submodules 承担着非常重要角色。今天先给大家介绍下 Git Submodules,以后我会给大家更详细介绍如何管理不同项目的公共依赖。为什么你值得读这篇文章?...(意思是,当你打开某个被当作 submodule Git 仓库首页,或者拉下这个仓库,没有任何痕迹表明它是个submodule。因为父子信息不存在这里,只存在爸爸那里。)...submodule 父子关系信息怎么存.gitmodules 文件父子关系信息保存在主项目的 .gitmodules 文件,如果不是新加 submodule,这个文件通常不必改变了,因为信息比较固定...方法二,主项目执行git submodule update --remote [submodule文件夹相对路径]这个方法会自动拉取submodule主分支(通常叫master或main)最新版本。...执行git submodule update。只要不写submodule,那么就一次性检查该主项目的所有submodule,都拉下来。

15.3K146

理解Git Submodules

submodule npm package npm package优势在于成熟管理依赖机制,规范且易用,缺点是主项目只能通过package版本获取独立模块更新,在主项目需要与子模块联调场景就会非常麻烦...hash相当于npm packagedependencies版本号 控制依赖版本 想要更新主repo所依赖子模块版本的话,提交这个commit hash变更: $ git add src/packages....关于submodules更多用法,见7.11 Git Tools – Submodules 四.常见问题 子模块分支处于detached状态 每次执行git submodule update --remote...origin master 本地子模块缓存 子模块repo发生迁移时,进行git submodule add可能会遇到本地缓存问题: $ git submodule add ssh://XXX.XXX.XXX.XXX...需要先删掉原配置(第2第3步),再本地缓存子模块信息(第1第4步): # 1.删掉git缓存及物理文件 $ git rm --cached path_to_submodule $ rm -rf path_to_submodule

2.5K71

Git Submodule项目子模块管理

使用命令git status可以看到多了两个需要提交文件,其中.gitmodules指定submodule主要信息,包括子模块路径和地址信息,moduleA指定了子模块commit id,使用git...diff可以看到这两内容。...需要注意是,父项目的git并不会记录submodule文件变动,它是按照commit id指定submodulegit header,所以.gitmodules和moduleA这两是需要提交到父项目的远程仓库...例如: git clone project.git project3 --recursive 修改子模块 修改子模块之后只对子模块版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新子模块代码...更新子模块 更新子模块时候要注意子模块分支默认是不是master分支。 方法一 先pull父项目,然后执行git submodule update,注意moduleA分支始终不是master。

74520

gitsubmodule使用总结

老高最近项目用到了gitsubmodule,期间遇到了很多坑,比如: 如何更新submodule 如何修改并提交submodule 如何submodule变更在父项目中提交 在弄明白这些问题之前...我们在子模块如何改动父项目是不需要关心,只需要把改动版本号告诉给父项目就行。.../phpgao/CdnHelper usr/plugins/CdnHelper 这个时候如果你留意一下.gitmodules和.git/config这两个文件,应该会发现相关信息已被记录下来!...如何更新submodule clone项目时有子模块存在,第一次是不会顺便clone出子模块,需要执行一些命令: git clone xxx.git # 初始化子模块 git submodule...大家第一间一定想到是remove,但是git貌似没有提供类似 git submodule remove 那么easy方法,所以我们要借助deinit。

1K50

Gitlab CICD 实践六:统一管理 protocol buffer,API 大仓设计与实现

调用方如何获取生成接口客户端代码? 如何解决 常见几种解决方案,煎鱼大佬已经描述得很详细了(真是头疼,Proto 代码到底放哪里?),这里不再赘述。...经过查阅资料,总结出适用于我们项目的几种方案。 方案一:api大仓+git submodule(b站) Proto文件只有一份,没有拷贝。...个人项目、单一目可采用这种方案,企业级就得写复杂脚本了。 方案二:api大仓+git submodule + 每个项目生成代码专有仓库 生成代码交给ci。...其他项目如何通过git submodule方式引入 API 大仓?...API大仓体积很小,一个项目的接口定义就几个文本文件。 2. 如何下载git submodule代码? 3. 如何更新、提交git submodule代码?

1.3K10

git 系列 — git submodule 命令及其用法

假如当前存在两个项目:git-main-project(主项目)、git-submodule-project(子模块)。...添加子模块 在主项目的根目录执行git submodule add {http/ssh} 之后会在主项目的根目录生成 .gitmodules 文件,用于记录子模块在信息和子模块同名文件夹,用于存放子模块...例如,在 git-main-project 根目录下执行git submodule add git@github.com:ZhangDaZongWei/git-submodule-project.git...更新主项目 更新主项目,也要兼顾到子模块更新: # 更新主项目,例如 git pull 但是这样只会拉取到子模块 commit 变更记录,并不会主动更新子模块,还需要执行: # 参数 --init...确保 push 子模块 有时更改完子模块后,忘记了 push,但是在主项目更改后却 push 了,所以远程仓库子模块未更新,导致其他人不会获取子模块更新,可以使用以下命令防止这种情况: # 在主模块

2.3K20

Git 子模块应用简介

直接添加子模块 #切换到本地项目里想添加submodule目录下, 执行 git submodule add 命令执行完成,会在当前工程根路径下生成一个名为".gitmodules..."文件,其中记录了子模块信息。...克隆一个包含子模块项目: #直接clone一个包含有submodule项目 #递归方式克隆整个项目 git clone --recursive clone项目时有子模块存在...,第一次是不会顺便clone出子模块,需要执行如下命令才能发现子模块被checkout出来了: #初始化本地配置文件: git submodule init #checkout出子模块文件 git....git文件中子模块相关条目,需要手工删除 cd .git vim config (删除submodule信息) cd modules rm -rf * (要看清楚,只删除跟submodule有关

68820

Git 工具 - 子模块: submodule与subtree使用

个人推荐选用Git子模块方式进行开发,父级仓库依赖两个公共子模块,子模块本身和父级仓库一同进行开发,可避免了版本问题和重复开发问题。...而父项目以Submodule形式包含子项目,父项目可以指定子项目header,父项目中会提交信息包含Submodule信息,再clone父项目的时候可以把Submodule初始化。...git submodule常用命令 查看子模块:git submodule 更新子模块: 更新项目内子模块到最新版本git submodule update 更新子模块为远程项目的最新版本git submodule...,Git获取到子模块commit值发生变化,从而记录了这个Git指针变化。...git submodule注意点 虽然使用git submodule为我们开发带来了很多便利,但是随之而来也会导致一些比较容易犯错误,整理出来,防止大家采坑: 子模块有提交时候,没有push到远程仓库

1.9K10

Visual Studio 2022 17.1 正式发布 生产力大增强

前言 Visual Studio 2022 17.1 版本已正式发布,该版本包含大量增强生产力更新,摘取一些较为重要更新介绍一下。...然后,索引器将遍历文件并构建一个索引,执行查找操作,该索引又用于加速搜索结果。...增强 Git 相关功能 分支比较功能,可以将当前分支与存储库中其他分支进行比较,更轻松地处理拉取请求(PR)或删除分支。...因此,如果要保留你签出提交后更改,请在退出分离 HEAD 状态之前,创建一个新分支来保存你更改内容。 有关签出提交”功能和更多 Git 增强功能,可在 Taysser 博客中细阅。...问题是添加新项目或依赖发生变化时,依赖关系图和方案过滤器就会过时,因此 Visual Studio 2022 17.1 引进了 “更新项目依赖” 功能,该功能可以随时检查新依赖,把项目的依赖关系更新到最新状态

2.8K20

使用Jenkins + git submodule 实现自动化编译,解决代码安全性问题

例如提交给版本控制系统被触发,通过类似Cron机制调度,在其他构建已经完成,还可以通过一个特定URL进行请求; Jenkins强大插件式,使得Jenkins可以集成很多软件,可能帮助我们持续集成我们工程项目...Jenkins 首先通过 git 工具获取远程仓库中代码,然后执行用户指定编译指令。...(5) Source Code Management 源码管理 Jenkins 在构建(编译)过程中,需要获取到源代码,因此需要配置 git 仓库地址和账号信息(用户名和密码)。...父项目和子项目的提交是分开,也就是说父项目提交信息只包含子项目的信息,而不会包含子项目的代码;子项目有自己独立 commit,push,pull操作。...需要手动获取所有的子模块,执行指令: git submodule update --init --recursive 此时,再使用 tree 命令看一下文件变化,可以看到 test1 和 test2

2K20

8. git-submodule 子模块

执行成功后,git status 会看到项目中修改了.gitmodules,并增加了一个新文件夹(为刚刚添加路径) 使用命令 git status 可以看到多了两个需要提交文件,其中 .gitmodules...指定submodule 主要信息,包括子模块路径和地址信息,moduleA 指定了子模块commit id,使用 git diff 可以看到这两内容。...需要注意是,父项目的 git 并不会记录 submodule 文件变动,它是按照 commit id 指定 submodule git header,所以 .gitmodules 和 moduleA...这两是需要提交到父项目的远程仓库。...克隆带子模块版本库 方法一:先 clone 父项目,再初始化 submodule,最后更新 submodule,初始化只需要做一次,之后每次只需要直接 update 就可以了,需要注意 submodule

58220

git submodule来管理独立git子目录

在软件开发过程中,通常我们会遇到有一些通用部分希望抽取出来做成一个公共库情况,比如安卓和IOS都通用H5页面。而公共代码库版本管理是个麻烦事情。...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) 命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”文件,其中记录了子模块信息。...下载工程带有submodule 使用git clone下来工程中带有submodule,初始时候,submodule内容并不会自动下载下来,此时,只需执行如下命令: git submodule...init git submodule update 或者是执行以下命令(该命令效果等同于上面两个命令): git submodule update --init --recursive 即可将子模块内容下载下来后工程才不会缺少相应文件...更新submoduleURL 1.更新.gitsubmodule中对应submodule条目URL 2.更新 .git/config 中对应submodule目的URL 3.执行 git submodule

1.9K20

Git Pro深入浅出(二)

这个模式是默认模式,即不显示告知git reset模式,会使用mixed模式。...(4)快速合并 默认情况下, Git 看到两个分支合并中冲突,它会将合并冲突标记添加到你代码中并标记文件为冲突状态来让你解决。...# 移除目录 $ git clean -fdx 再次切回到有子模块分支,需要重新初始化子模块 $ git checkout add-crypto $ git submodule update --init...我们可以将新历史推送到新项目中,其他人克隆这个仓库,他们仅能看到最近两次提交以及一个包含上述说明基础提交。 如果,想获取整个项目的历史该如何做???...在克隆这个截断后仓库后为了得到历史数据,需要添加第二个远程历史版本库并对其做获取操作: # 获取最新提交 $ git clone https://github.com/schacon/project

1.1K31

协同开发利器——Git Submodule

其实在蒋鑫Git权威指南》当中,有比较详细介绍:项目的版本库在某些情况虾需要引用其他版本库中文件,例如公司积累了一套常用函数库,被多个项目调用,显然这个函数库代码不能直接放到某个项目的代码中...Git submodule用例 首先我们需要两个版本库 [1240] 从名称,我们就做了区分,一个是公共版本库 https://github.com/yang0range/SubModuleDemoLib.git...另一个是引用公共版本版本库 https://github.com/yang0range/SubModuleDemoMain.git 有了这两个版本库,我们就该介绍如何两个版本库关联起来了 Git...] 同时我们可以看到目录下多了一个.gitmodules文件 [1240] 5.提交仓库 执行git cmmit命令 添加成功之后,再执行 git push指令 关于这两个我们最常用指令,就不多介绍了...提交、更新过程 之前我也说过,对于主模块和子模块来说,两个是相对独立了,所以在执行命令时候,单独对主模块,和子模块分别操作就可以了。

3.6K10

Git 进阶使用1

git submodule update 更新子模块为远程项目的最新版本 git submodule update --remote 克隆包含子模块项目 克隆包含子模块项目有二种方法:一种是先克隆父项目...一个简单解决办法是把你hook存在项目的实际目录中(在 .git 外)。这样你就可以像其他文件一样进行版本控制。...不过,它们确实可以让开发者更易于接受这些规范 常见 6 个最有用本地hook: pre-commit pre-commit 脚本在每次你运行 git commit 命令Git 向你询问提交信息或者生产提交对象执行...,后两个允许你执行一些额外操作,分别为 git checkout 和 git rebase 安全检查。...和官方仓库连接,其中一些可以用来拒绝一些不符合规范提交。

70041

协同开发利器——Git Submodule

其实在蒋鑫Git权威指南》当中,有比较详细介绍:项目的版本库在某些情况虾需要引用其他版本库中文件,例如公司积累了一套常用函数库,被多个项目调用,显然这个函数库代码不能直接放到某个项目的代码中...其实Git早就帮我们解决了这一个问题,就是通过git submodule来解决! Git submodule用例 首先我们需要两个版本库 ?.../yang0range/SubModuleDemoMain.git 有了这两个版本库,我们就该介绍如何两个版本库关联起来了 Git submodule操作了 这里我们先介绍Git命令使用,接下来,...5.提交仓库 执行git cmmit命令 添加成功之后,再执行 git push指令 关于这两个我们最常用指令,就不多介绍了。 之后我们查看git log就可以看到我们提交记录了 ?...提交、更新过程 之前我也说过,对于主模块和子模块来说,两个是相对独立了,所以在执行命令时候,单独对主模块,和子模块分别操作就可以了。

1.1K10
领券