化石原创文章,转载请注明来源并保留原文链接


同一个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)的连接即可。


化石原创文章,转载请注明来源并保留原文链接