同一个github账号,因为登录的电脑不同,可以在github后台配置多个ssh key。步骤:
1、登录github
2、账号图标点击出菜单,settings,点击
3、SSH and GPG keys,点击
4、页面上点击那个绿色的按钮“New SSH key”
5、从本机生成ssh文件,拷贝公钥(pub结尾)的文件内容到输入栏中,确认即可。这样拥有对应的私钥的电脑就可以无密码进行github ssh操作。另外的电脑,重复刚才的动作,再次添加SSH key即可。
submodule可以用来链接子模块,通常是第三方在github上的源代码工程。在github上看源代码工程是,一般看到一些文件夹后面有@带上一串字符,就是这玩意。
使用普通的git clone url命令,这些链接的submodule不会被马上克隆到本地。如果克隆主工程后,发现没有submodule的代码,那么可以在该工程中使用
git submodule init
git submodule update
组合命令来拉取submodule的原代码。
当然,这样一个命令也能完成同样的任务:
git submodule update --init
在主工程中,submodule的url是存在.gitsubmodule文件中的,这个文件默认隐藏。里面是每个submodule的url,可以是https协议的,也可以是git协议的。
主工程的.gitsubmodule文件的协议可以修改,如果改了。需要用
git submodule sync
使你的修改跟./git/config中的相应地方同步。否则不会生效。
当然,git clone本身也提供一步到位的做法:
git版本1.6.5及以上:
git clone --recursive URL
git版本2.13以上:
git clone --recurse-submodules -j8 git://github.com/foo/example.git
j8表示同时并行8个任务拉取,可以不用。
如果因各种原因,git clone submodule中断的话,那么后续可以使用下面的命令继续。
git submodule update --recursive
网络不通畅的时候,使用git克隆,会经常出现cur 18错误。解决的方式简单有使用git 参数的–depth,但是这个方式并不是一定能解决这个问题。稳妥的方式还是使用ssh方式克隆。
ssh方式,必须在服务器上的仓库上传public key。这个key可以用很多工具生成,但是安装git的机器上,现成的还是git bash自带的。
1、右键git bash here
2、敲入
ssh-keygen -t rsa -C "your_email@example.com"
3、根据提示输入相关的信息。只想用默认的就直接敲回车。
4、全部好了后,命令行会提示public key(.pub)和认证文件(.rsa)的存放地址。Window10放在了/Users/Administrator/.ssh/下面。
这样生成相关文件的步骤完成。
5、把pub文件或者其中的内容在git服务器上配置到相应的仓库。
6、通过git客户端克隆ssh(git开头的url)的连接即可。