Git学习0基础篇(下)

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git学习0基础篇(下)相关的知识,希望对你有一定的参考价值。

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://[email protected]/project.git

$ git clone [email protected]: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基础篇(下)的主要内容,如果未能解决你的问题,请参考以下文章

玩转Git入门篇

Git与Github快速学习上手

salesforce 零基础学习(五十三)多个文件生成一个zip文件(使用git上封装的代码)

FreeRTOS

[git 学习篇] git remote add origin错误

Git学习篇之git remote add origin错误