Gitub公司与octocat

GitHub公司总部位于美国旧金山,拥有一只不知道是猫还是章鱼的吉祥物octocat。

并不是只有Git仓库的托管服务

GitHub除了提供Git仓库外,还未开发者或者团队提供一系列的功能,帮助其高效率的、高品质地进行代码编写。这些功能将从下一章详细讲解。

截止2014年,GitHuba托管仓库数已经超过1000万全世界每时每刻都有开发者使用他

Mac与linux

最近的Mac都预装了Git。ubuntu版本的Linux可以使用`apt-git install git 安装。

Windows

windows中,最简单快捷的方式是使用msysGit 。请按照Downloads的向导下载安装包。安装包下载完成以后,只要双击运功按照向导下一步下一步即可。

设置姓名和邮箱地址

设置姓名邮箱是为了让其他开发者更容易找到这个代码是谁提交的。--global代表全局设置,针对当前计算机的所有

提高可读性

语法高亮提高可读性

git设置高亮

初始化仓库

要使用Git进行版本控制,必须先进行初始化仓库。Git使用git init命令进行初始化。

查看仓库状态

git status 命令用于显示Git仓库状态。这个命令十分常用务必牢记。

向缓存区里面添加文件

如果只是用Git仓库的工作树创建了文件,那么文件并不会被记入Git仓库的版本管理对象中。因此我们用git status命令查看文件时,他会显示在Untracked files里。

要想让文件成为Git仓库的管理对象,就需要使用git add 命令将其加入暂缓存区(stage或Index)中。暂缓存区是提交之前的一个临时区域

保存仓库的历史记录

git commit命令可以将暂缓存区中的文件的文件实际保存到仓库历史记录中。通过这些记录就可以在工作树中恢复文件。

查看提交日志

git log 可以查看以往仓库中提交的日志。包括可以查看什么人在什么时候提交合并的

查看更改前后的差别

git diff命令可以查看工作树、暂存区、最新提交之间的差别。

$ git diff

在进行多个并行作业时,我们会用到分支。在这个类并行开发的过程中,往往通过存在多个最新代码状态。从下图可见,从master中创建了hotfixes分支和develop分支后,每个分支中都拥有自己的最新代码。master分支是Git的默认分支,因此基本上所有的开发都是以这个分支为中心进行的。

不同的分支可以进行不同的作业,等该分支的作业完成之后可以在和master合并。通过灵活运用分支可以让多人同时高效的进行并行开发。

显示分支一览表

git branch 命令可以将分支列表名,同时可以确定当前所在分支。让我们来实际运行git branch命令。

创建切换分支

如果想在master分支的基础上创建新的分支,我们需要用到git checkout -b命令

合并分支

接下来,我们假设hotfixes已经实现完毕,想要将它和并到主干分支master中。首先我们要切换到主分支下。然后合并hotfixes分支。为了在历史中明确记录下本次分支合并,我们需要创建合并提交。因此,在合并时加上–no–ff参数

以图表的形式查看分支

用git log –graph命令能够很清楚看到新特性分支和提交的内容合并

添加远程仓库

添加一个远程地址到本地

 

推送至远程仓库

推送master分支到远程git仓库

 

从远程仓库获取

可以从github下载一个到本地

回溯历史版本

要让仓库的HEAD,缓存区、当前工作树回溯到指定状态,需要用git reset –hard命令。只要提供目标时间点的哈希值就可以恢复到该时间点的状态。哈希值可以通过git log查看

使用git reste –hard恢复到回溯历史前的版本 。首先执行git reflog命令查看仓库操作日志