1、Git简介

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

2、特点

分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

3、Git的功能特性:

从一般开发者的角度来看,git有以下功能:
(1)从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
(2)在自己的机器上根据不同的开发目的,创建分支,修改代码。
(3)在单机上自己创建的分支上提交代码。
(4)在单机上合并分支。
(5)把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
(6)生成补丁(patch),把补丁发送给主开发者。
(7)看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
(8)一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
(1)查看邮件或者通过其它方式查看一般开发者的提交状态。
(2)打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
(3)向公共服务器提交结果,然后通知所有开发人员。
4、优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
     缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
5、经典的Git开发过程

Git学习笔记2017-11-17



6、Windows上安装Git

msysgit是Windows版的Git,网址https://git-for-windows.github.io国内镜像,按默认选项安装。

安装完成后,开始菜单里找到“Git”->“Git Bash”,跳出一个类似命令行窗口,说明Git安装成功。再在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email [email protected]

7、Linux上安装Git

输入git看系统是否已经安装Git:

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

若系统是新版Debian或Ubuntu Linux,则输入sudo apt-get install git即可直接完成安装。

若为老版,则输入sudo apt-get install git-core.

若为其他Linux版本,可直接通过源码安装。从Git官网下载源码,解压,输入:  ./config , make , sudo make install 即可。

8、Mac OS X上安装Git

(1)安装homebrew,然后通过homebrew安装Git,参考homebrew的文档:http://brew.sh/

(2)直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”即可完成安装。

9、创建版本库

版本库repository,又名仓库,这个仓库或目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

(1)创建一个空目录

$ mkdir learngit
$ cd learngit
$ pwd
/name

(2)通过git init命令把这个目录变成Git可以管理的仓库

$ git init
Initialized empty Git repository in /name/.git/

可以发现当前目录下多了一个.git目录,该目录是Git跟踪管理版本库的,最好不要修改。

若没有看到.git目录,是因为这个目录默认是隐藏的,用ls -ah命令可看见。

10、添加文件到版本库

所有的版本控制系统都只能跟踪文本文件的改动,告知每次的具体改动,如txt文件、网页、所有的程序代码等,但对于图片、视频、Microsoft的Word等二进制文件,版本控制系统只能告知改动了,而具体改动哪里不能显示,所以要真正使用版本控制系统,要以纯文本方式编写文件。(此外不要使用Microsoft自带的记事本,可用Notepad++代替)

相关文章: