git对gitlab/github源码下载及更新

从远程别人仓库下载需要的源代码,仓库更新后跟新。

一、配置SSH

1.1 生成ssh**

  可以在cmd命令行 输入ssh 看下自己有没有生成过,我这边是已经生成过了。
git对gitlab/github源码下载及更新
  没有的话生成ssh, 在 cmd 或 gitbash 输入:
ssh-keygeng -t rsa -C "你自己的邮箱@163.com"
一路回车,不要设置密码,不要改路径
git对gitlab/github源码下载及更新

1.2 将ssh私钥添加到ssh-agent

在gitbash 输入下面给两条命令:

  1. eval &(ssh-agent -s)
  2. ssh-add /c/xxxx/.ssh/id_rsa

1.3 添加公钥到github/gitlab 账号

去到生成ssh的路径,找到 id_rsa.pub 记事本打开,复制里面所有内容

a.github

setting -> SSH and GPG keys -> new ssh key

title 随便写,可以写成自己的邮箱啥的,然后吧刚复制的公钥内容粘贴到下面的框里,添加
git对gitlab/github源码下载及更新
b. gitlab

setting -> SSH Keys

同样操作,粘贴公钥,添加完后下面会显示你添加的ssh keys.
git对gitlab/github源码下载及更新
完事后可以在cmd 或 gitbash 输入:
ssh -T [email protected] / ssh -T [email protected] 测试是否已正确连接

二、下载源码

用到的命令是 git clone
git clone 库地址
git clone 也支持多种协议下载 https ssh git 等,常用两种:
git对gitlab/github源码下载及更新
复制ssh 或 https 地址,在你想要放置的目录打开git bash ,输入

git clone https://gitlab.kitware.com/iMSTK/iMSTK.git

完事就等待下载完成就可以了~

三、更新源码

当远程仓库源码发生了更新,你想要同步跟新的话,两个办法

  1. 直接把你现在的东西全删了,重新回到二下载
  2. 使用 git pull 命令拉取并更新代码

这边说git pull 它是 git fetch 和 git merge FETCH_HEAD 的合体
在你源码所在目录打开 git bash 输入下面命令:

git pull origin master

该命令的意思是将远程 master 分支的代码拉取合并到当前代码分支(我这边就是下的master分支) 在你源码的目录下打开 git bash 就可以看到你以前下的是哪个分支
git对gitlab/github源码下载及更新pull 之后就会跟新你这边的源码和远程仓库同步。

重新编译

  cmake vs , 如果编译过程复杂的话不建议直接删掉你原先的build目录下东西,先试一下不删然后编译,就相当于打补丁了。 当然也有可能这样操作编译通不过等情况,这个就酌情考虑了。

需要注意的一个下载问题:

  在下载源码的时候,还有一种下载方法就是直接下载了源代码的压缩包,然后下下来直接解压缩就用了。
  这样的话,大概率是不能进行 pull 操作的, 首先注意到的就是目录下根本没有 .git 这个隐藏文件夹,这里面记录了一些你这边源码和远程仓库代码的联系吧。可以通过下面的命令生成这个文件夹:
git init
但是有可能还是无法 pull 会报 permission denied(publickey) 之类的错误, 这种时候果断删掉源码重新去git clone 吧。