美文网首页Git教程
Git使用总结四:远程仓库

Git使用总结四:远程仓库

作者: devinlaffer | 来源:发表于2017-02-27 09:26 被阅读44次

使用git branch dev创建本地仓库分支dev,我们平时在dev分支上工作,而master作为主分支,我们不动它。在合并到master分支前,不管在dev分支上如何操作,都不会影响到主分支。当dev分支合并到master分支,我们删除dev分支,准备推送到远程仓库。在推送到远程仓库前,通过上篇版本穿梭的有效命令行,可以进行版本切换回退、撤销修改、删除文件等操作,从而避免文件丢失的问题

GitHub

通过SSH加密本地Git仓库和GitHub仓库之间的传输:

  • 创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
  • 在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个文件是SSH Key的秘钥对,id_rsa是私钥,id_rsa.pub是公钥
  • 登录GitHub,添加SSH Key,在Key文本框里粘贴id_rsa.pub文件里的内容

GitLab

GitLab作为Git服务端部署在公司一台闲置电脑上,类似于服务器,用于托管公司研发项目。

SSH

SSH,是一个加密验证连接的方式,很多远程连接操作使用SSH。SSH和https比,更加安全,使用Git协议速度更快。

生成SSH秘钥

  • 未使用使用生成过SSH秘钥
ssh-keygen -t rsa -C "your_email@example.com"
  • 找到.ssh目录下的两个文件,分别是id_rsaid_rsa.pub
id_rsa
id_rsa.pub
  • 如果有过关联其他服务器的SSH密钥,且需要同当前GitLab隔离
ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/gitlab
  • 最后的“gitlab”即为自定义的SSH文件名,然后再.ssh文件夹中创建config文件,在其中输入
gitlab (如果邮箱不同也可在此处注释)
Host gitlab.com
HostName 192.168.2.156
User git
IdentityFile ~/.ssh/gitlab
  • 对于原SSH也可以用这种方式分配路径。同时,这种方法也可以用来配置多GitHub账户。比如说同一设备同时使用GitLab和GitHub时需要在config里分配路径。

配置多GitHub账户

  • 首先找到.ssh文件,文件中包括githubgithub.pubgitlabgitlab.pubknown_hosts等文件
  • 添加config文件,对SSH分配路径,如下所示
 # gitlab
Host gitlab.com
HostName 192.168.2.156
User git
IdentityFile ~/.ssh/gitlab
 # github
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github
  • 由于192.168.2.156与gitlab.com间存在映射关系,所以需要重新关联远程仓库
  • 首先cd 文件夹
  • 然后与远程仓库取消关联
git remote rm origin 
  • 最后重新关联远程仓库
git remote add origin git@gitlab.com:far/gitGuide.git 

GitLab中配置公钥

打开id_rsa.pub复制公钥,粘贴到GitLab中的个人资料设置/SSH密钥里面。

测试SSH连接

ssh -T git@192.168.2.156

如果配置多SSH,直接可以使用gitlab.com测试,即

ssh -T git@192.168.2.156

如果测试成功会出现

Welcome to GitLab, USERNAME!

添加远程库

本地仓库关联远程仓库

git remote add origin git@github.com:far/learngit.git

把本地仓库的内容推送到GitHub仓库

$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 13.73 KiB, done.
Total 23 (delta 6), reused 0 (delta 0)
To git@github.com:far/learngit.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

$ git push origin master

在第一次推送到远程后,以后都用git push origin master命令,把本地master分支的最新修改推送至GitHub。

从远程库克隆

从远程库克隆一个仓库,首先要知道该远程仓库的地址,然后再使用git clone命令进行克隆。
Git支持多种协议,包括https,但是ssh支持原生的git协议速度最快。

$ git clone git@github.com:far/gitskills.git

相关文章

  • GitHub创建远程仓库及连接

    总结:使用的git命令 git init git remote add origin (远程仓库地址) git r...

  • git的基本使用

    标签(空格分隔): git 获取远程仓库的项目到本地 使用 git clone 远程仓库地址 (如果使用 git ...

  • Git使用总结四:远程仓库

    使用git branch dev创建本地仓库分支dev,我们平时在dev分支上工作,而master作为主分支,我们...

  • GitHub超简单小白入门详细教程(11)——使用Git管理远程

    使用Git管理远程仓库 使用远程仓库的目的 作用:备份,实现代码共享集中化管理 Git克隆操作 目的:将远程仓库(...

  • Git常用命令笔记

    git命令使用 1 创建远程仓库(初始化--提交到本地仓库--提交到远程仓库) $ git init ...

  • git远程仓库

    先给远程仓库地址取别名 git remote add 别名 远程仓库地址,使用 git remote -v 命令...

  • 学习如何使用git

    学习如何使用git git的初始设置 git仓库的ssh密钥 远程仓库的设置 远程仓库与本地仓库的同步(参考了这篇...

  • Git远程配置

    Git远程查看  Git查看远程仓库 Git远程参数 Git配置远程仓库

  • git终端操作

    git终端使用 第一次使用git看这里 删除远程仓库的方法 克隆远程仓库到本地库:git clone http文件...

  • Git 基础 - 远程仓库的使用

    Git 基础 - 远程仓库的使用 远程仓库的使用 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓...

网友评论

    本文标题:Git使用总结四:远程仓库

    本文链接:https://www.haomeiwen.com/subject/dltzwttx.html