大家好,前面几节,我们用很长的篇幅介绍了git本地使用过程中的一些基本命令,本节开始,我们介绍通过远程仓库多人协作的时候,基本操作以及遇见的问题。
本节内容预告:
1、github 与gitlab简介
2、git本地连接远程的两种方式
3、git本地关联远程仓库

1.github 与 gitlab简介

我们前面学习git的时候都是自己一台电脑上操作,不管是创建分支还是合并分支代码,那么多人协作的时候怎么处理呢?这时候就需要一个“中介”来帮我们保存以及管理代码,github和gitlab承担的就是这样一个角色。两者之间的关系我在刚开始的时候有提到传送门 github作为一个全球范围的代码托管平台,内部孕育了很多优秀的项目,但是因为外网网速限制问题,以及私有代码托管要收费问题,国内大部分企业会选择在自己内部使用gitlab搭建一个自己企业内部的git私服用于代码管理。

我们后续学习,因为搭建私服比较麻烦,我们暂时通过github,来实现代码管理以及远程协作,顺便熟悉一下github上的一些操作,在git学习最后,我们会尝试自己手动搭建gitlab私服。

2.github简单使用以及关联远程两种方式

前面的章节我们或多或少提到过github,因为发现身边有一些同事工作好几年了,但是对github怎么用并不熟悉,所以专门注册了一个新账号,对github的使用简单说明。

  1. 正常用你的邮箱注册完就是这个界面
  2. 然后你可以点击左上角的create new repository创建一个仓库,界面如下所示,为你的仓库命名,这边注意是public,也就是你提交的代码所有人都能看到,如果选择private是要收费的。
  3. 创建完仓库有个仓库的初始化界面,这里会提示你可以本地创建一个新的仓库,然后关联这个远程仓库,也可以将本地已有的仓库关联到远程仓库,这样你的代码就可以提交到远程
  4. 我们根据他提供的第一种方式创建一个新仓库,并关联这个远程仓库,这里要留意,如果选择ssh方式,也就是我们关联远程仓库的第一种方式的话,会有报错提示,提示你没有权限访问
  5. 你需要本地生成公钥私钥,如果是linux系统的话,你可以通过简单的命令生成,如果是windows的话,可以通过一个叫putty的工具生成
  6. 可以看到在.ssh目录下面的文件id_rsa.pub,就是我们需要的公钥,将这个公钥拷贝到git-》setting->deploy keys下面
  7. 部署好公钥后,重新推送代码,会发现还是报错,只不过报错内容换了,提示我们部署上去的公钥是只读的
  8. 删除git部署的公钥,重新部署,将权限改为允许写权限,如下
  9. 重新推送代码,发现代码推送成功

还有一种是通过http的形式访问的,这种方式需要你每次提交都要输入用户,密码,来验证身份,通过这种方式有个坑是,通常我们会用中文输入法,因为http访问输入的密码是密文的,看不到具体内容,很容易因为输入中文的字符或者格式而出错!!!此时会提示你账号或者密码不对,但是你能在页面正常登陆。。。这时候就要留意是不是输入法的问题

3.git关联远程仓库

git 关联远程仓库常见有两种方式。

3.1 本地有代码,远程仓库是新建的

  1. git init 初始化本地仓库
git init
  1. git add 添加当前目录所有文件到本地git仓
git add .
  1. git commit 提交本地文件到本地git仓
git commit -m '初始化提交'
  1. git remote 命令关联远程仓库
git remote add origin  [url]
  1. git show remote 命令查看关联情况
git remote show origin

gitlab runner远程连接其他服务器 gitlab关联远程仓库_远程仓库


6. git push 推送到远程仓库

git push -u  origin master

3.2 本地没代码,远程仓库有代码

  1. 直接通过克隆命令拷贝
git clone [url]
  1. 也可以下载文件包后再关联远程仓库类似,后续操作和3.1 一样,不推荐这样,自己给自己找事情

3.3 本地有代码,远程仓库有代码

此时涉及代码版本合并的问题,因为本地的代码和远程的代码可能完全冲突,而且本地代码没有被远程代码跟踪,此时只能先按照3.2 克隆远程仓库代码,然后手动一点点将本地的代码迁移到远程拉下来的代码工程里面。git没法智能的解决这个事情