server上的 Git - 协议

Git能够使用四种基本的协议传输资料:本地协议(Local)、HTTP 协议、SSH(Secure Shell) 协议以及 Git 协议。眼下使用最普及的是 SSH 协议和 HTTP 协议。


本地协议

本地协议的长处是简单,缺点是不方便从多个位置訪问。

克隆一个本地版本号库,能够运行例如以下命令:

$ git clone /opt/git/project.git

$ git clone file:///opt/git/project.git


HTTP 协议

该协议的长处是:不同的訪问方式仅仅须要一个 URL 以及server仅仅在须要授权时提示输入授权信息。这两个简便性让终端用户使用 Git 变得非常easy。

缺点是:在一些server上。架设 HTTP/S 协议的服务端会比 SSH 协议的棘手一些。


SSH 协议

SSH 协议的长处是:架设简单、訪问安全、传输高效。缺点是:不能通过它匿名訪问,即便仅仅要读取数据,使用者也要有通过 SSH 訪问你的主机的权限,这使得 SSH 协议不利于开源的项目。

通过 SSH 协议克隆版本号库的命令:

$ git clone ssh://user@server/project.git

$ git clone user@server:project.git


Git 协议

眼下,Git 协议是 Git 使用的网络传输协议里最快的。Git 协议缺点是缺乏授权机制。


server上的 Git - 生成 SSH 公钥

为了向 Git server提供 SSH 公钥,假设某系统用户尚未拥有密钥。必须事先为其生成一份。

高速确认自己是否已拥有密钥:

$ cd ~/.ssh

$ ls

查看是否有一对以 id_dsa 或 id_rsa 命名的文件,当中一个带有 .pub 扩展名。

.pub 文件是你的公钥,还有一个则是私钥。

假设没有密钥,能够用例如以下命令生成:

$ ssh-keygen

关于在多种操作系统中生成 SSH 密钥的更深入教程,请參阅 GitHub 的 SSH 密钥指南 https://help.github.com/articles/generating-ssh-keys


GitHub - 账户的创建和配置

GitHub 是最大的 Git 版本号库托管商。是成千上万的开发人员和项目能够合作进行的中心。

大部分 Git 版本号库都托管在 GitHub,非常多开源项目使用 GitHub 实现 Git 托管、问题追踪、代码审查以及其他事情。


账户的创建和配置

首先去 https://github.com 站点注冊账号。

其次将生成的 SSH 密钥加入到新申请的账号里。


GitHub - 对项目做出贡献


派生( Fork )项目

假设你想要參与某个项目,可是并没有推送权限,这时能够对这个项目进行“派生”。 派生的意思是指,GitHub 将在你的空间中创建一个全然属于你的项目副本,且你对其具有推送权限。


GitHub流程

GitHub 设计了一个以合并请求为中心的特殊合作流程。


流程通常例如以下:

  1. 从 master 分支中创建一个新分支

  2. 提交一些改动来改进项目

  3. 将这个分支推送到 GitHub 上

  4. 创建一个合并请求

  5. 讨论。依据实际情况继续改动

  6. 项目的拥有者合并或关闭你的合并请求

Git学习0基础篇(下)的更多相关文章

  1. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  2. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  3. Python3学习(1)-基础篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...

  4. 【转】WF4.0 (基础篇)

    转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter  ——  兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...

  5. Git操作(基础篇)

    Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

  6. 【转】Shell编程基础篇-下

    [转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 ...

  7. 前端开发工程师 - 03.DOM编程艺术 - 第1章.基础篇(下)

    第1章.基础篇(下) Abstract: 数据通信.数据存储.动画.音频与视频.canvas.BOM.表单操作.列表操作 数据通信(HTTP协议) HTTP事务: 客户端向服务器端发送HTTP请求报文 ...

  8. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  9. (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)

    一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...

随机推荐

  1. Socketserver详解

    Python3中的SocketServer socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.sock ...

  2. day03 set集合,文件操作,字符编码以及函数式编程

    嗯哼,第三天了 我们来get 下新技能,集合,个人认为集合就是用来list 比较的,就是把list 转换为set 然后做一些列表的比较啊求差值啊什么的. 先看怎么生成集合: list_s = [1,3 ...

  3. luogu1736 创意吃鱼法

    好的题解使人一下就懂啊-- s1[i][j]表示(i,j)最多向左(或右)延伸多少个格子,使这些格子中的数都是0(不包括(i,j)) s2[i][j]表示(i,j)最多向上延伸多少个格子,使这些格子中 ...

  4. 大咖分享 | 一文解锁首届云创大会干货——上篇(文末附演讲ppt文件免费下载)

    日,第一届网易云创大会在杭州国际博览中心举办,本次大会由杭州滨江区政府和网易主办,杭州市两创示范工作领导小组办公室协办,网易云承办,以"商业匠心.技术创新"为主题,致力于打通技术创 ...

  5. 修改DB-LINK连接数方法

    原因分析有可能是DB-LINK连接数的限制,请做如下修改验证: 以oracle用户登录数据库节点. 连接数据库. $ sqlplus "/as sysdba"修改DataBase ...

  6. Pycharm 简单设置

  7. EOJ Monthly 2018.1

    985月赛,当时鸽了,现在想补一补 A. 石头剪刀布的套路 Time limit per test: 1.0 seconds Memory limit: 256 megabytes 现在有一种石头剪刀 ...

  8. NOJ——1559Jump to the Top of Mountain(简单暴力DFS+渣渣代码)

    [1559] Jump to the Top of Mountain 时间限制: 1000 ms 内存限制: 65535 K 问题描述 Have you played a game named Min ...

  9. BZOJ3990 [SDOI2015]排序 【搜索】

    题目 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N),第i中操作为将序列从左到 ...

  10. UVA12230 Crossing Rivers (数学期望)

    题目链接 题意翻译 一个人每天需要从家去往公司,然后家与公司的道路是条直线,长度为 \(D\). 同时路上有 \(N\) 条河,给出起点和宽度\(W_i\) , 过河需要乘坐速度为\(V_i\) 的渡 ...