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. luogu1208 尼克的任务

    倒着推就是了 #include <iostream> #include <cstdio> #include <vector> using namespace std ...

  2. alidoing --使用JS实现多语言框架、喜欢的请进、、瓦特平台!

    大家好! 多语言实现的案例:http://alidoing.com/或者http://www.alidoing.com/ 图:切换语言界面 JS代码实现: 1.首先新建一个对象langobj,当然对象 ...

  3. Selenium WebDriver- 通过源码中的关键字找到我们要操作的句柄,用于多个窗口之间切换

    #encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webdriver i ...

  4. 面向对象——property

    1.property特性 property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉到name是执行了一 ...

  5. 缓存淘汰算法之FIFO

    前段时间去网易面试,被这个问题卡住,先做总结如下: 常用缓存淘汰算法 FIFO类:First In First Out,先进先出.判断被存储的时间,离目前最远的数据优先被淘汰. LRU类:Least ...

  6. K-means算法的优缺点

    K-means算法的优缺点 优点:原理简单,实现容易 缺点: 收敛较慢 算法时间复杂度比较高 \(O(nkt)\) 不能发现非凸形状的簇 需要事先确定超参数K 对噪声和离群点敏感 结果不一定是全局最优 ...

  7. Django创建并连接数据库(实现增删改查)--第二版

    注意点一: url里面的地址,不只是html页面,准确说是views视图里面对应的函数方法 <!DOCTYPE html> <html lang="en"> ...

  8. [git 学习篇] 提交文件

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256916071d ...

  9. java环境配置classpath和path变量的作用及设置方法

    1.path:指定cmd中命令执行文件所在的路径.比如javac.java两个可执行文件在jdk的bin目录下,如果path值含有这个bin目录,在cmd下执行这两个命令的时候就会到path指定的目录 ...

  10. ZOJ-3956 Course Selection System,01背包!

    Course Selection System 比赛的时候最后20分钟想到了是01背包,奈何没时间推出怎么背. 题意:n门课程,每门课程都有一个h值和c值,现在给出一个happy的定义,所选的课程的h ...