Git是目前世界上最先进的分布式版本控制系统。
GitHub和Git是完全不同的两个东西
在Git中,开发者将源代码存入名叫“Git仓库”的资料库中并加以使用。而GitHub则是在网络上提供Git仓库的一项服务。
也就是说,GitHub上公开的软件源代码都是由Git进行管理。
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
下载
在Windows下,需要安装两个工具:Git for Windows
以及 TortoiseGit
。
Git for Windows
是Git的官方Windows版本,提供了Git的所有功能,但是由于Git完全是为了*nix系统开发的开源软件,注重功能而忽略了易用性,对于初学者不是特别友好。
TortoiseGit
则为Git for Windows
加上了一个易用的右键菜单,并且将文件状态等信息很好地与Windows资源管理器的整合。
下面分别介绍这两个工具的安装过程。我是用是Git-2.10.2-64-bit.exe版本,大家可以根据自己需求选择版本下载
下载地址:
https://git-for-windows.github.io/
或者
https://github.com/git-for-windows/git/releases
首先安装Git for Windows,从官网上下载64位或者32位的安装程序。
Additional icons
是关于图标的设置
In the Quick Launch
是快速启动图标
On the Desktop
是桌面快捷方式
Windows Explorer integration
是资源管理器集成(右键菜单)
Git Bash Here
是在当前目录运行Git命令行
Git GUI Here
是在当前目录运行Git原生界面
Associate .git* configuration files with the default text editor
是将所有.git
开头的文件使用默认文本编辑器打开
Associate .sh files to be run with Bash
是将所有扩展名为.sh
的文件使用Git命令行执行
Use a TrueType font in all console windows
是在所有命令行(包括Windows系统cmd命令行窗口)中都使用TrueType
字体
按照图中勾选或者根据自己的需要选择即可。
接着点击"Next",直到"Adjusting your PATH enviroment"这步,如图:
Use Git from Git Bash only
不会修改系统环境变量,但是Windows系统cmd命令行中无法使用git
命令
Use Git from the Windows Command Prompt
会将git
相关程序加入系统环境变量中,使得Windows系统cmd命令行中可以使用git
命令
Use Git and optional Unix tools from the Windows Command Prompt
会将git
相关程序以及一些其他的Unix工具加入系统环境变量,使得Windows系统cmd命令行中可以使用git
以及Unix工具
按照图中勾选第二个选项,或者如果想使用Unix下的sed
/grep
等指令也可以选择第三个选项。
接着点击"Next",直到"Configuring the line ending conversions"这步,如图:
Checkout Windows-style, commit Unix-style line endings
选项让Git能够自动转换文件中的换行符;签出到本地时转换为Windows下的换行符,提交到服务器时转换为Unix下的换行符
Checkout as-is, commit Unix-style line endings
选项让Git在签出到本地时不做转换,保留原始文件的换行符;提交到服务器时转换为Unix下的换行符
Checkout as-is, commit as-is
让Git在签出到本地时和提交到服务器时都不做转换
按照图中勾选第一个选项,或者按自己的项目需要勾选。
tips: Windows下文本文件的换行符为CR-LF
也就是\r\n
对应的ASCII码为0x0D 0x0A
,而Unix下文本文件的换行符为LF
也就是\n
对应的ASCII码为0x0A
。有时候Windows打开一个文本文件发现所有内容都在一行上,那么可能这个文件是Unix/Linux/OSX系统下生成的,换行符不对,可以用Sublime Text
之类的编辑器打开。
接着点击"Next",直到"Configuring the terminal emulator to use with Git Bash"这步,如图:
Use MinTTY (the default terminal of MSys2)
选项使用一款叫做MinTTY的软件作为Git命令行,MinTTY是一款模拟Unix系Bash终端的软件。优点是命令记录、可配置字体、可改变窗口大小等等,缺点是可能无法直接运行原Windows下的一些命令行程序
Use Windows' default console windows
选项使用Windows系统cmd命令行来作为Git命令行。优点和缺点正好和上一个选项相反。
按照图中勾选第一个选项,或者按自己的习惯勾选。
选择默认即可,然后点击下一步继续安装。
安装完成后,如果在选择组件
阶段勾选了Windows Explorer integration
下的选项,则可以在Windows资源管理器的右键菜单中看到Git相关选项了,如图:
或者在CMD命令中输入git
或者git --version
命令查看是否安装成功
C:\Users\Administrator>git --version
git version 2.10.2.windows.1
C:\Users\Administrator>
如果按照前面的步骤安装下来,那么 git 程序所在的路径已经添加到系统 PATH 中(path就相当于系统自动查找路径列表),所以可以直接在任意路径的 cmd 下执行 git 命令. 如果没有添加,则需要 cd 切换到Git所在的 bin 目录下,才能执行 git 命令.