添加submodule时如果git url出现具体的用户名,比如admin用户:
git submodule add ssh://admin@127.0.0.1:29418/myproject.git aaa/bbbb
那么问题来了:
如果submodule的url出现具体的用户名,那么其他电脑上clone时必须要配置该用户的ssh key,也就是说一台电脑上要配置两个ssh key(配置方法参见:http://aigo.iteye.com/blog/2287851),
这样搞比较麻烦。
有一种不正规的解决办法:clone以后,修改本地的.gitmodules文件中的用户名。但这样比较危险,因为.gitmodules时可以提交的,所以,万一其他电脑上不小心把.gitmodules提交了,就会影响其他同事了。
想到一个科学的办法:
修改~/.ssh/config,配置两个host,两个host除了alias别名不一样,其他都一样,相当于模拟两个用户的情况,例如:
Host alias1
HostName 127.0.0.1
Port 29418
User user001
IdentityFile /C/Users/Administrator/.ssh/id_rsa
Host alias2
HostName 127.0.0.1
Port 29418
User user001
IdentityFile /C/Users/Administrator/.ssh/id_rsa
用别名添加submodule
git submodule add alias2:MyRepositoyr.git aaa/bbbb
这样添加后,push到服务器上,其他机器上更新不会出现干扰,其他机器只需要用alias2作为别名、自己的ssh key作为IdentityFile配置config即可。
相关推荐
### Git Clone与Submodule知识点详解 #### 一、Git Clone命令 `git clone` 命令用于克隆一个远程仓库到本地。当你需要获取一个项目的全部文件时,这个命令非常有用。 **基本用法:** ```bash git clone ``` **...
然而,`HEAD detached`状态是使用`git submodule`时可能遇到的一个常见问题,它意味着子模块的HEAD指针不再指向任何分支的最新提交,而是指向了历史中的某个特定提交。本文将深入探讨这个问题的原因、影响以及如何...
确保执行这两步操作,就能解决 `git submodule update` 获取不到最新提交的问题。了解这个过程对于正确管理和更新 Git 子模块至关重要,避免因理解不透彻而浪费时间查找问题。 在日常开发中,如果你遇到类似的问题...
在Git操作中,`git submodule`是一个强大的特性,它允许你在主项目中包含其他项目的副本,这些副本作为子模块独立管理。在Azure Web应用的部署过程中,使用`git submodule`有时会遇到一些挑战,尤其是在URL中未包含...
安装sudo ./install 卸载sudo ./install --uninstall 用法gitsubmodule [options | options[args]] ###选项选项参数? 描述-h,--help 显示帮助--version 显示版本号-d,--dir repoDir 默认情况下为 repo 提供目录...
Git submodule 是 Git 提供的一种管理项目依赖的机制,允许你在主项目中嵌入其他 Git 仓库作为子模块,这样在开发时可以方便地管理和更新这些依赖。本文将详细讲解如何使用 Git submodule,以及需要注意的事项。 一...
Git Submodule是Git的一个高级特性,用于在一个Git仓库中管理另一个Git仓库的引用。它允许你在主项目中包含外部的依赖或子项目,而这些子项目可以独立地进行版本控制和更新。这样,你可以在多个项目之间共享和维护同...
由于网络原因在edk2中执行git submodule update --init往往会失败,该压缩包包含了git submodule update --init下来的内容。方便快速配置edk2进行固件开发。
2. `git submodule update` 或 `git submodule update --init --recursive`:这将检出子模块仓库的最新提交到指定的目录。`--recursive`选项用于递归初始化所有子模块的子模块(如果有)。 完成这些步骤后,你就...
场景: 当你在一个Git 项目上工作时,...在Git 中, 可以用子模块submodule来管理这些项目,submodule允许将一个Git 仓库当作另外一个Git 仓库的子目录。这允许克隆另外一个仓库到你的项目中, 并且保持你的提交相对独立。
文章地址:...该python脚本主要解决的问题: 1、拉取工程代码时,子模块指向modules.json指定的branch或tag,避免拉到游离分支。 2、提交代码时取消子模块提交commit的提示。
Git Submodule是Git中一个强大的特性,用于管理项目中的子模块,即独立的、单独维护的代码库。这些子模块可以是项目依赖的库、工具或者其他任何需要与主项目一同协作但又需要独立版本控制的部分。Submodule允许你在...
为了进行此设置,请将此存储库克隆到某个地方,运行git submodule init ,然后运行git submodule init git submodule update命令,然后将您的克隆添加到$ PATH中。 有些命令需要python2 。 如果在Windows上使用...
PX4目录下的.gitmodules文件,已替换成Gitee链接,可正常git submodule update。
https://SubModule.git 首次拉取 git clone https://github.com/h4x0r139/git_collect_sub.git git submodule init git submodule update 更新 git pull git submodule foreach git submodule update 常见问题 git ...
3. **初始化Submodule**:首次添加Submodule后,需运行`git submodule init`和`git submodule update`来克隆子模块仓库到本地。 4. **工作流程**:在子模块中进行修改后,需要在子模块目录下使用`git commit`和`git...
克隆这个仓库,运行git submodule init && git submodule update即可同步仓库中所有的工具到本地。$ git clone https://github.com/Chorder/PenetrationTools.git$ cd PenetrationTools$ git submodule init$ git ...
6. **持续维护与更新**:作为开源项目,`git-user-info`应该有一个活跃的社区,持续接收反馈,修复问题,并根据开发需求添加新功能。 从提供的压缩包文件名`git-user-info-master`来看,这可能是库的源码主分支。...
2. Git Submodule:使用 `git submodule` 命令可以管理子模块,例如 `git submodule init`。 五、 Git 问题解决 在使用 Git 过程中,我们可能会遇到一些问题,例如远程仓库无法 push、代码修改不生效等。 1. ...