本文主要从基础层面初识Git,分别从Git的诞生,优势,使用,项目应用等方面简单介绍一下,旨在大家对git有个初步了解,并能简单应用到实际开发实践中。

参考文章:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137402760310626208b4f695940a49e5348b689d095fc000

Git的诞生

linux之父linus由于反对CVS,SVN这种集中式版本管理工具,因为他们不但速度慢,而且必须联网才能使用,所以在2002年以前一直手工合并世界各地志愿者通过diff方式提交的代码。
到了2002年,商用版本控制系统BitKeeper的东家BitMover出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
但到了2005年,社区里的一些人,如开发Samba的Andrew试图破解BitKeeper的协议,被BitMover公司发现了,一怒之下收回了linux社区的免费使用权。
于是,linus仅用了两周时间,便用C写了这个分布式版本控制系统——Git,一个月之内,Linux系统的源码就已经由Git管理了。
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

Git的优势

  • 分布式管理,每台机器都是服务器。
  • 强大的版本分支管理,打分支,封版本。
  • 可视化界面,仓库管理,分支管理,版本管理,提交记录一目了然。
  • 强大的生态环境,客户端有Tortoise Git,服务端私有云搭建有Gitlab,Gogs,公有云搭建有码云,Github等。

Git的使用

开始

远程新建仓库,本地克隆git clone https://gitee.com/allanhao/gitdemo.git或者本地init仓库,添加远程仓库地址git remote add origin https://gitee.com/allanhao/gitdemo.git

添加忽略文件 .gitignore

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# ---> VisualStudio
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
[Ll][Oo][Gg]/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

新增文件,提交修改

1
2
3
4
touch a.txt
git add .
git commit -m test
git push

发布分支,提交PullRequest

发布Release版本

迁移仓库