1.git是什么?
git是目前世界上最先进的分布式版本控制系统。
2. git从何而来
众所周知,1991年linus编写并开源了Linux操作系统,一直到2002年,linux的前进发展都是世界各地的志愿者把源代码文件通过diff的方式发给linus,然后linus本人通过手工方式合并代码。
到了2002年linux社区采用了一个商业的分布式版本控制系统BitKeeper,BitKeeper给了linux社区免费使用权,linux社区中一些人试图破解BitKeeper的协议,2005年开发samba的andrew的"逾约"行为被BitKeeper公司发现了,BK公司要求收回linux社区免费使用权,哼老子免费给你用你还干这么不要脸的事老子不干了。此时linus没有向BK公司道歉,花了两周时间自己用c写了一个分布式版本控制系统,也就是Git。过了一个月,linux系统的源码就已经由git来管理了。
此后git迅速风靡世界,2008年github上线,为开源项目免费提供git存储,无数开源项目开始移到Github,包括jQuery,PHP,Ruby等等。
3.集中式版本管理系统 vs 分布式版本管理系统
https://www.liaoxuefeng.com/wiki/896043488029600/896202780297248
4.安装Git
在linux上安装Git
$sudo apt-get install git
在windows上安装Git
从Git官网下载安装程序进行安装,安装成功后需要进行初始化设置,因为git是分布式版本控制系统,每个机器都必须自报家门:你的名字和email地址。
$git config --global user.name "xxxxx"$git config --global user.email "xxxxxxxxx"
在MacOS上安装Git
Xcode集成了Git,直接用Xcode的命令行就行。
5.版本库(仓库)创建与文件添加
即repository的创建,repository里的所有文件都可以被git管理起来,每个文件的修改删除Git都能跟踪以便任何时刻都能追踪历史或者在将来某个时刻"还原"。
第一步,创建一个本地目录,如果已经有了可以忽略这一步。
$ mkdir git_test$ cd git_test$ pwd/Users/Dynmi/git_test
ok,这个repository位于笔记本的 /Users/Dynmi/git_test
第二步,通过git init命令把这个本地目录变成git可以管理的repository。
$ git init Initialized empty Git repository in /Users/Dynmi/git_test/.git/
.git目录是git用来跟踪管理这个repository的。
6.把文件添加到repository
这里我们编写一个readme.txt文件,内容如下:
Linus,who developed git,is a great developer.I admire him.
首先把readme.txt文件,也就是我们要添加的文件放到repository中也就是/git_test目录下,然后告诉git,我们做了把文件添加到repository的操作。
$ git add readme.txt$ git commit -m "wrote a readme file"
git add命令,后面输入的是添加的文件名,可以一次提交一个文件,也可以多个,如
$ git add file1.txt file2.txt
git commit命令,-m后面输入的是本次提交的说明。
至此,git入门成功。学到三个helloworld级别的命令,分别是
git init
git add <file> 所有文件无论是第一次添加还是后期修改,都要在操作完后使用git add入库
git commit -m <message> 提交做的修改操作
7.管理修改,撤销修改,删除文件
提交文件添加后如果再行修改这个文件,修改后需要提交更改,具体操作如下:(承接上文readme.txt)
$ git add readme.txt$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
$ git commit -m "readme.txt modified"
[master 5e92616] readme.txt modified.
1 file changed, 1 deletion(-)
$ git status
On branch master
nothing to commit, working tree clean
使用git status命令可以查看目前待提交的添加修改操作,上文我们做了git add命令之后如果git status可见git add命令后尚未提交的修改。
对于所有做过的commit提交,可以通过git log命令查看。
下图是一个全面的git命令总结
原文地址:https://www.cnblogs.com/dynmi/p/12233975.html