Git 是一个优秀的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。在一个分布版本控制系统中,每个人都有一份完整的源代码(包括源代码所有的历史记录信息),而且可以对这个本地的数据进行操作。分布版本控制系统不需要一个集中式的代码仓库。
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过百万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery 等。
要想使用 GitHub 第一步当然是注册 GitHub 账号:
1、首先打开 https://github.com/pricing 进行注册。
2、在打开的页面中点击「Sign up now」注册,如图 1.1 所示。
图 1.1
3、在接下来的页面中创建用户名,填写 email 和设定密码,点击「Create an account」按钮创建账户,如图1.2。
图 1.2
4、选择账户类型 ,这里我们默认选择 “Free” 类型,点击「Finish sign up」按钮完成注册,如图 1.3。
图 1.3
注:不同类型的选择根据我们的需要,如果存放开源项目,则免费托管;存放私有库,则需要付费。
安装Git
1、下载并安装 Git 最新版本。 http://git-scm.com/downloads
2、安装完成后,打开 Terminal 命令(针对苹果系统用户)或者命令提示行(针对 Windows 和 Linux 用户)。
3、告诉 Git 你的姓名,以便你的提交能被正确地标记。在 $
后输入下面的内容:
$ git config --global user.name "YOUR NAME"
4.告诉 Git 邮箱地址,以便与你的 Git 提交进行关联。你指定的邮箱要和保持你的邮箱地址私有。
$ git config --global user.email "YOUR EMAIL ADDRESS"
通过 Git 验证 GitHub
当你通过 Git 连接到一个 GitHub 仓库后,我们需要验证 GitHub,这里有两种验证方法:
- 通过 HTTPS 验证
- 通过 SSH 进行验证
通过 HTTPS 建立连接(推荐)
如果选择 把 GitHub 密码缓存在 Git。
通过 SSH 建立连接
如果选择 生成 SSH keys,用来从 GitHub 中 push 或 pull。
在 GitHub 上创建一个新仓库
1、在任意的页面右上角点击 +,然后点击新建仓库 New repository。
2、为你的仓库创建一个简短便于记忆的名字。例如 “hello-world”。
3、为你的仓库添加一个描述(非必须的)。例如 “My first repository on GitHub”。
4、选择你的仓库类型为公有或者私有:
- Public:公有仓库对于一个刚入门的新手来说是一个不错的选择。这些仓库在 GitHub 上对于每个人是可见,你可以从协作型社区中受益。
- Private:私有仓库需要更多地步骤。它们只对于你来说是可用的,这个仓库的所有者属于你和你所指定要分享的合作者。私有仓库仅仅对付费账户可用。
5、选择Initialize this repository with a README。
6、点击Create repository。
恭喜!你已经成功地创建你的第一个仓库,并且通过 README 文件初始化了它。
提交你的第一个更改
提交就像你项目里的文件在一个特定时间点上的快照一样。
当你创建了一个新仓库,你通过 README 文件初始化它。README 文件里有关于你这个项目详细的解释,或者添加一些关于如何安装或者使用该项目的文档。README 文件的内容会自动地显示在你仓库的首页。
让我们提交一个对 README 文件的修改。
1、在你仓库的文件列表,点击 README.md。
2、在文件内容的上方,点击编辑按钮。
3、在 Edit file 标签上,输入一些关于你自己的信息。
4、在新内容的上方,点击 Preview changes。
5、检查一下你对这个文件进行的更改,你会看到新的内容被绿色标记。
6、在页面的底部,即 "Commit changes" 下方,输入一些简短、有意义的提交信息来解释你对这个文件所进行的修改。
7、点击 commit changes。
Fork 一个示例仓库
Fork 是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。
一般来说,forks 被用于去更改别人的项目(贡献代码给已经开源的项目)或者使用别人的项目作为你自己想法的初始开发点。
提出更改别人的项目
使用 forks 提出改变的一个很好的例子是漏洞修复。与其记录一个你发现的问题,不如:
- Fork 这个仓库
- 进行修复
- 向这个项目的拥有者提交一个 pull requset
如果这个项目的拥有者认同你的成果,他们可能会将你的修复更新到原始的仓库中!
使用别人的项目作为你自己想法的初始开发点
许可文件,这个文件决定你是否希望将你的项目分享给其他人。
Fork 一个仓库分为简单的两步。我们已经创建了一个仓库让你用于练习!
- 在 GitHub 上,定位到 octocat/Spoon-Knife仓库。
- 在页面右上角,点击 Fork 按钮。
就这样!现在你已经 fork 这个原始的 octocat/Spoon-Knife 仓库。
同步你的 Fork 仓库
你或许已经 fork 一个项目为了提交更改向 upstream 或原始仓库。这种情况下,很好的实现了将 upstream 仓库定期同步到你的 fork。要做到这一点,你需要在命令行中使用 Git。你可以使用你刚刚 fork 的 安装 Git,如果你还没有。也不要忘记 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 命令。想知道更多信息,
github 常用命令
- clone 仓库
#git conle [email protected]:rickyhui/Hello-World.git
# git status
查看状态
#git add helo.txt
提交
#git commit -m "fix bug"
#git log
#git push
更新仓库
#git branch
查看分支
#git checkout -b feature-A
or
git branch feature-A
git checkout feature-A
#git add feature-a
#git commit -m ‘add feature-a‘
#git checkout master
切换回master 分支
#git merge --no-ff feature-A
合并分支
git branch -D pr1
删除分支
#git checkout -
切回上一个分支
git clone git
git remote add origin [email protected]:rickyhui/git-test.git
添加远程仓库,设置名字位origin
git push -u origin master
推送至master 分支
git fetch origin
获取最新的数据
git checkout -b freature-D
git push -u origin feature-D
创建D分支,然后push 给远程仓库
#git checkout- b feature-D origin/feature-D
获取远程feature-D 分支
git pull origin feature-D
获取最新的分支
- fork
- clone
git clone [email protected]:rickyhui/first-pr.git
3.branch
git branch -a
master
4.git checkou -b work rickyhui-pages
创建特性分支
5.添加代码
6 提交修改 git diff
7 git add index.html
8 git commit -m "add index"
9 git push origin master
创建远程分支
git branch -a 查看
10 登陆界面然后选择新的branch分支
然后new pull request
11.merge