gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。
Git 术语
术语 | 定义 |
---|---|
仓库(Repository) | 一个仓库包括了所有的版本信息、所有的分支和标记信息。在Git中仓库的每份拷贝都是完整的。仓库让你可以从中取得你的工作副本。 |
分支(Branches) | 一个分支意味着一个独立的、拥有自己历史信息的代码线(code line)。你可以从已有的代码中生成一个新的分支,这个分支与剩余的分支完全独立。默认的分支往往是叫master。用户可以选择一个分支,选择一个分支叫做checkout. |
标记(Tags) | 一个标记指的是某个分支某个特定时间点的状态。通过标记,可以很方便的切换到标记时的状态,例如2009年1月25号在testing分支上的代码状态 |
提交(Commit) | 提交代码后,仓库会创建一个新的版本。这个版本可以在后续被重新获得。每次提交都包括作者和提交者,作者和提交者可以是不同的人 |
URL | URl用来标识一个仓库的位置 |
修订(Revision) | 用来表示代码的一个版本状态。Git通过用SHA1 hash算法表示的id来标识不同的版本。每一个 SHA1 id都是160位长,16进制标识的字符串.。最新的版本可以通过HEAD来获取。之前的版本可以通过"HEAD~1"来获取,以此类推。 |
1.GitHub 只支持 Git 格式的版本库托管,而不像其他开源项目托管平台还对CVS、SVN、Hg 等格式的版本库进行托管。GitHub 的哲学很简单,既然 Git 是最好的版本控制系统之一(对于很多喜欢 Git 和 GitHub 的人没有之一),没有必要为兼顾其他版本控制系统而牺牲 Git 某些独有特性。因此没有支持其他版本控制系统的历史负担,是 GitHub 成功的要素之一。
2.GitHub 对 Git 版本库提供了完整的协议支持,支持 HTTP 智能协议、Git-daemon、SSH 协议。
3.GitHub 提供在线编辑文件的功能,不熟悉 Git 的用户也可以直接通过浏览器修改版本库里的文件。
4.将社交网络引入项目托管平台是 GitHub 的创举。用户可以关注项目、关注其他用户进而了解项目和开发者动态。
5.项目的 Fork 和 Pull Request 构成 GitHub 最独具一格的工作模式。对提交代码的逐行评注及 Pull Request 构成 GitHub 特色的代码审核。
6.GitHub 通过私有版本库托管、面向企业的版本库托管和项目管理平台、人员招聘等付费服务获得了商业上的成功,这种成功使得 GitHub 不必以页面中嵌入广告的方式维持运营,最大的受益者还是用户。
7.GitHub 网站采用 Ruby on Rails 架构,在 Web 设计中运用了大量的 JavaScript、AJAX、HTML5 等技术,支持对使用 Markdown 等标记语言的内容进行渲染和显示等。关注细节使得 GitHub 成为了项目托管领域的后起之秀。
仓库类型(公用、私有)
Public:公有仓库在 GitHub 上对于每个人是可见,你可以从协作型社区中受益。
Private:私有仓库需要更多地步骤。它们只对于你来说是可用的,这个仓库的所有者属于你和你所指定要分享的合作者。私有仓库仅仅对付费账户可用。
创建仓库
1、在任意的页面右上角点击 +,然后点击新建仓库 New repository。
2、为你的仓库创建一个简短便于记忆的名字。例如 “hello-world”。
3、为你的仓库添加一个描述(非必须的)。例如 “My first repository on GitHub”。
4、选择你的仓库类型为公有或者私有。
5、选择Initialize this repository with a README。
6、点击Create repository。
README文件的修改
1、在你仓库的文件列表,点击 README.md。
2、在文件内容的上方,点击编辑按钮。
3、在 Edit file 标签上,输入一些关于你自己的信息。
4、在新内容的上方,点击 Preview changes。
5、检查一下你对这个文件进行的更改,你会看到新的内容被绿色标记。
6、在页面的底部,即 "Commit changes" 下方,输入一些简短的提交信息来解释你对这个文件所进行的修改。
7、点击 commit changes。
Fork 是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。
一般来说,forks 被用于去更改别人的项目(贡献代码给已经开源的项目)或者使用别人的项目作为你自己想法的初始开发点。
同步你的 Fork 仓库
安装 Git,为 fork 的仓库创建一个本地克隆,你已经成功 fork Spoon-Knife 仓库,但在你自己的计算机上并没有这个仓库的文件。克隆你 Fork 的代码到你本地的计算机上。
1、在 GitHub 上,定位到你 fork 的 Spoon-Knife 仓库。
2、在你 fork 的仓库页面的右侧边栏,点击复制图标复制你 fork 的 URL。
3、打开 Terminal 命令(苹果系统用户)或者命令提示行(Windows 和 Linux 用户)。
4、输入 git clone,然后粘贴在步骤 2 复制的 URL。如下所示,用你 GitHub的用户名代替 YOUR-USERNAME:
$ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
5、按下 回车键 ,你的本地克隆就创建了。
$ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
Cloning into `Spoon-Knife`...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (8/8), done.
remove: Total 10 (delta 1), reused 10 (delta 1)
Unpacking objects: 100% (10/10), done.
通过配置 Git 来同步你 fork 的原始 Spoon-Knife 仓库当你 fork 一个项目是为了提出更改这个原始的仓库,你可以配置 Git 将原始的或者 upstream 的变化更改到你本地。
1、在 GitHub 上,定位到 octocat/Spoon-Knife 仓库。
2、在这个仓库页面的右侧边栏,点击复制图标复制这个仓库的 URL。
3、打开 Terminal 命令( Mac 用户)或提示命令行(Windows 和 Linux 用户)。
4、更改到你在步骤 2(创建一个本地)创建的你的 fork 的本地的目录。
回到根目录,只输入 cd。
输入 ls,列出当前目录的文件和文件夹。
输入 cd 目录名”进入你输入的目录下。
输入 cd .. 回到上一目录。
5、输入 git remove -v,按下回车键,你将会看到你的 fork 当前配置的远程仓库:
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
6、输入 git remote add upstream,然后粘贴你在步骤 2 复制的 URL 并按下回车键。如下所示:
$ git remote add upstream https://github.com/octocat/Spoon-Knife.git
7、验证你 fork 里新指明的这个 upstream 仓库,再次输入 git remote -v。你将会看到你 fork 的 URL 作为原始的地址,而原始的仓库的 URL 作为 upstream。
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
保持你的 fork 与 upstream 的仓库的同步,利用几个 Git 命令。想知道更多信息,请参阅 Syncing a fork。
检索其他仓库来 Fork
每个公开的仓库都可以被 fork,所以你可以搜索你感兴趣的项目并 fork 它!
Explore GitHub(https://github.com/explore) 是一个大的平台,可以让你找到感兴趣的项目。经常访问这个页面去关注最新和最酷的东西。
Follow 一个人
GitHub 一个很强大的特性就是可以看到其他人在从事或者与什么相关的工作。
当你在 GitHub 上跟踪了某些人之后,你就会在你的面板里面收到他们活动的动态通知。你可以在他们的页面上,点击 Follow 按钮。
Watch 一个项目
在某些情况下,你需要实时跟踪一个特别项目的动态,这和跟踪一个用户比较类似,只是关注点仅仅在于该项目的事件。你可以给这个项目发送电子邮件订阅或者在页面上配置通知设置。比较典型的通知比如对补丁或者问题的评论,或者仅仅是项目的一个评论。
我们的朋友 Octocat 有一个叫做 Hello World(https://github.com/octocat/Hello-World)的项目,我们想去查看。
当你在项目页面的时候,你会发现页面顶部有一个 watch 按钮,点击它。
GitHub for Windows
安装
1、从 windows.github.com 下载最新版本的 GitHub。
2、当你开启软件时,你可以选择用你的 GitHub 账户登录,或者新建一个账户。
3、在左侧,你可以看到你的 GitHub 账户,同时你也能看到你所在组的其他(用户)。 点击一个用户名,你将看到哪些仓库是可用的,点击 clone 将把对应仓库克隆到你的电脑。
4、你可以点击顶部的 + add 来添加一个新的本地仓库。
Fork
直接从 GitHub 上克隆来添加库,也是一种不错的选择。
1、你可以直接用你的个人账户或者你所属的组织,通过 GitHub 来浏览相关项目。
2、你也可以直接在 GitHub 上通过 Clone in Desktop 按钮来进行一键克隆。
提交到本地
你在本地更新了数据,需要先提交到本地仓库:
1、点击你需要同步的库的名称。
2、你将看到一个表单,列举了你最新的变动。增添一个提交日志(另外可以选择增加一个描述),然后提交。
同步远程仓库
当有新的本地提交记录时,in sync 按钮会被点亮,并且文字变成 sync,只需要点击 sync 按钮,就同步到了 GitHub 上的远程仓库。
http://wiki.jikexueyuan.com/project/github-basics/