首先配置SSH Key
1.下载安装 Git ,运行 Git Bash ,进行安装后的最后一步设置(注意双引号里的都是自己设置的):
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2.配置自己的SSH公钥
- 打开本地,使用如下命令生成ssh公钥和私钥对
ssh-keygen -t rsa -C 'xxx@xxx.com'
然后一路回车(-C 参数是你的邮箱地址) - 然后打开
C:\Users\admin\.ssh\id_rsa.pub
文件,复制其中的内容 - 打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
到此就完成了gitlab配置ssh key的所有步骤
关联GitLab远程库
情况一:先有本地库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitLab创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitLab上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。
首先,登陆GitLab,然后,找到“Create a new Project”按钮,创建一个新的仓库:
在Project name
填入learngit
,其他保持默认设置,点击Create Project
按钮,就成功地创建了一个新的Git仓库:
目前,在GitLab上的这个learngit仓库还是空的,GitLab告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitLab仓库。
现在,我们根据GitLab的提示,在本地的learngit仓库下运行命令:
$ git remote add origin https://git.lug.ustc.edu.cn/mengpc/learngit.git
请千万注意,把上面的mengpc替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
下一步,就可以把本地库的所有内容推送到远程库上:
$ git push -u origin master
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitLab,现在,你就拥有了真正的分布式版本库!
情况二:先有远程库
1.首先配置好SSH Key
2.新建本地仓库,创建一个文件夹,进去之后右键 Git Bash ,输入:
$ git init
3,关联远程库
$ git remote add origin https://git.lug.ustc.edu.cn/mengpc/learngit.git
4.创建并切换本地分支
$ git checkout -b 分支名
5.从 GitLab 上面拉取项目了。
$ git pull origin 分支名
6.拉取成功之后,修改代码。
7.修改完之后,再进入分支执行
$ git status
$ git add . (注意“.”) 将当前工作区所有修改添加到缓存区
$ git commit -m "备注信息"
git push origin 分支名