一、为什么要用Git?
版本控制系统
所有的版本控制系统,其实只能跟踪文本文件的改动,比如txt文件,网页,程序代码等等。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100kb改成了200kb,但到底改了啥,版本控制系统不知道,也没法知道。需要注意的是:Word格式的文件是二进制格式,因此,版本控制系统是没法跟踪word文件的改动的。因为文本是有编码的,比如中文常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。
集中式版本控制系统
有CVS、SVN。速度慢,必须联网才能使用。SVN是目前用的最多的集中式版本控制系统。
分布式版本控制系统
Git、BitKeeper、Mercurial和Bazaar等。这些分布式版本控制系统各有特点,但最快,最简单的也最流行的依然是Git。
分布式版本控制系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是没有联网都可以正常工作,当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了。而SVN在没有联网的时候是拒绝干活的!
二、Git的由来
很多人都知道,Linus在1991年创建了开源的Linux,从此Linux系统不断的发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发送给Linus,然后由Linus本人通过手工方式合并代码。
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈的不满,于是Linus选择了一个商业的版本控制系统BitKeeper,它的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干其实也不只他一个),被BitMover公司发现了(监控做的挺好),于是BitMover公司怒了,要收回Linux社区的免费试用权。
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,恩,这是不可能的,实际情况是这样的:Linus花了两周的时间自己用C语言写了一个分布式版本控制系统,就是Git!一个月之内,Linux系统的源码已经由Git管理了!什么是厉害?这才叫厉害!
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费且超级好用的Git了。
三、Git下载、安装、配置
1. 下载
在使用Git前我们需要先下载Git,Git目前支持Linux/Unix、Mac和Windows平台。Git各平台的安装包下载地址为:http://git-scm.com/downloads。
2. 安装
在Windows平台上安装Git(文库),双击运行即可。
https://wenku.baidu.com/view/e9029bd5162ded630b1c59eef8c75fbfc67d9452.html
这里安装的是msysGit
- 软件简介
Git是一款免费、开源的分布式版本控制系统,最早有Linus创建,用于管理Linux内核开发,现已成为分布式版本控制的主流工具。
Windows平台下的Git软件致力于提供一种具有特色的轻量级本地工具集,可以让新手和经验丰富的大牛都很容易上手。安装完成后,我们会看到三个图标:Git Bash、Bit GUI、Git CMD。Git Bash是以命令行的形式来操作,会使*NIX用户感到有家的温馨,就像git命令在Linux和Unix环境下运行。Git GUI是为了方便普通用户操作,所有的命令行操作都可以在GUI中找到对应的图形化操作。安装完成后,只需在开始菜单中单击Git Bash和Git GUI来操作它们。
4.Git配置
Git提供了一个叫做git config的工具,专门用来配置或读取相应的工作环境变量。这些环境变量,决定了Git在各个环节的具体工作方式和行为。
4.1用户信息
配置个人的用户名称和电子邮件地址:
$ git config –global user.name “Your Name”
$ git config –global user.email “Your eamil address”
如果用了—global选项,那么更改的配置文件就是位于你用户主目录下的.gitconfig文件中,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或电邮,只要去掉—global选项重新配置即可,新的设定保存在当前项目的.git/config文件中。
修改新的用户名和邮箱
gitconfig–global–replace−alluser.email“输入你的邮箱”
g
i
t
c
o
n
f
i
g
–
g
l
o
b
a
l
–
r
e
p
l
a
c
e
−
a
l
l
u
s
e
r
.
e
m
a
i
l
“
输
入
你
的
邮
箱
”
git config –global –replace-all user.name “输入你的用户名”
4.2查看配置信息
要检查已有的配置信息,可以使用git config –list命令:
gitconfig–listuser.name=Michealuser.email=15732625435@163.com有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如/etc/gitconfig和 /.gitconfig),不过最终Git实际采用的是最后一个。这些配置我们也可以在 /.gitconfig或/etc/gitconfig看到,如下所示:vim /.gitconfig[user]Name=MichealEmai=15732625435@163.com也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:
g
i
t
c
o
n
f
i
g
–
l
i
s
t
u
s
e
r
.
n
a
m
e
=
M
i
c
h
e
a
l
u
s
e
r
.
e
m
a
i
l
=
15732625435
@
163.
c
o
m
有
时
候
会
看
到
重
复
的
变
量
名
,
那
就
说
明
它
们
来
自
不
同
的
配
置
文
件
(
比
如
/
e
t
c
/
g
i
t
c
o
n
f
i
g
和
/
.
g
i
t
c
o
n
f
i
g
)
,
不
过
最
终
G
i
t
实
际
采
用
的
是
最
后
一
个
。
这
些
配
置
我
们
也
可
以
在
/
.
g
i
t
c
o
n
f
i
g
或
/
e
t
c
/
g
i
t
c
o
n
f
i
g
看
到
,
如
下
所
示
:
v
i
m
/
.
g
i
t
c
o
n
f
i
g
[
u
s
e
r
]
N
a
m
e
=
M
i
c
h
e
a
l
E
m
a
i
=
15732625435
@
163.
c
o
m
也
可
以
直
接
查
阅
某
个
环
境
变
量
的
设
定
,
只
要
把
特
定
的
名
字
跟
在
后
面
即
可
,
像
这
样
:
git config user.name
Micheal
- IDEA配置Git
注册github或者码云,二选一,两个都是代码托管平台,一个是国外一个国内的。
5.1idea设置git
Ctrl+Shift+s(File–>Setting)->Version Control–>Git–>Path to Git executable选择安装的git.exe文件,点击Test,测试设置成功如下:
5.2idea中设置github
在官网上注册账号:https://github.com/
5.2.1连接github
在IDEA中设置GitHub,File–>Setting->Version Control–>GitHub
Host:github.com
Token:点击Create API Token,输入在github中注册的用户名和密码生成token
点击Test,测试是否连接成功
5.2.2 多人协作开发
参考
《git多人协作开发V1.0.0-徐玲博-2017-11-17》
5.3idea设置码云
在官网上注册账号:https://gitee.com/
和github步骤一样,大同小异