原理部分转载自:https://www.liaoxuefeng.com
Git简介:
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
分布式版本控制系统的特点:
首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,
就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?
比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,
就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人
电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人
都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局
域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常
也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,
只是交换修改不方便而已。
git的简单部署:
[root@foundation38 kiosk]# mkdir demo
[root@foundation38 kiosk]# cd demo/
[root@foundation38 demo]# ls
[root@foundation38 demo]# git init git初始化,通过git init命令把这个目录变成Git可以管理的仓库
Initialized empty Git repository in /home/kiosk/demo/.git/
[root@foundation38 demo]# pwd
/home/kiosk/demo
[root@foundation38 demo]# ls
[root@foundation38 demo]# echo westos > readme.md 写入文件
查看git的状态:
[root@foundation38 demo]# git status 查看状态Git非常清楚地告诉我们,readme.md被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# readme.md
nothing added to commit but untracked files present (use "git add" to track)
[root@foundation38 demo]# git status -s 查看状态为??表示文件未提交
?? readme.md
[root@foundation38 demo]# git status 查看状态Git非常清楚地告诉我们,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked
[root@foundation38 demo]# git add readme.md 将文件添加到git仓库,git add命令实际上就是把要提交的所有修改放到暂存区
[root@foundation38 demo]# git status add之后查看状态
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: readme.md
#
[root@foundation38 demo]# git status -s 查看状态为A表示文件已经处于暂存状态
A readme.md
[root@foundation38 demo]# git commit -m "add readme.md"
-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的方便阅读更改。
执行git commit就可以一次性把暂存区的所有修改提交到分支
git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);
1 insertions:插入了1行内容(readme.txt有1行内容)
下图提示你输入邮箱和名字,按照命令操作即可!
下图为提交之后显示(后期更博所添加)
注意:git add命令可以一次性操作多个文件,然后使用git commit -m一次性提交即可
将文件提交到版本库中以后,就无法查看状态:
[root@foundation38 demo]# git status -s
[root@foundation38 demo]# git config --global user.name xfl
[root@foundation38 demo]# git config --global user.email "1757159864@qq.com"
[root@foundation38 demo]# cd
[root@foun