Git是目前世界上最先進的分布式版本控制工具
1.Git是分布式的嚎研,SVN和CVS都是集中式的版本控制系統(tǒng)需要將版本庫集中存放在服務器挨约;
2.git每個歷史版本存儲完整的文件叉橱,SVN存儲文件差異胖烛;
3.Git可離線完成大部分操作眼姐,SVN則必須聯(lián)網才能工作;
4.Git有著更優(yōu)雅的分支和合并實現(xiàn)佩番;
5.Git有更強的撤銷修改和修改版本歷史的能力众旗;
6.Git速度更快,效率更高,操作更簡單而且更加安全趟畏;
Git的基本工作流程:
(1)Git使用40個16進制字符的SHA-1 Hash來唯一標示對象贡歧。
Git有四種對象:
(1)blob:文本文件、二進制文件赋秀、或者鏈接文件利朵;
(2)tree:目錄;
(3)commit:表示歷史提交猎莲;
(4)tag:指向固定的歷史提交绍弟;
獲取Git倉庫:
(1)git init;
(2)git clone;
git有三個區(qū)域:
(1)working directory:工作區(qū);
(2)staging area:暫存區(qū)著洼;
(3)history repository:歷史區(qū)樟遣;
在這三個目錄之間操作最常用的兩個命令就是:
(1)git add
(2)git commit
(3)git status
(4)git rm
(5)git mv
(6)git ignore
我們一般都是使用git add命令向暫存區(qū)添加數(shù)據(jù),然后使用git commit命令把存儲區(qū)的數(shù)據(jù)添加到歷史區(qū)身笤。需要檢出的時候就使用checkout豹悬;
我們如何查看工作區(qū)和暫存區(qū)中區(qū)別,來確保我們提交是我們所需要的展鸡,就要使用git status命令屿衅。當暫存區(qū)中有不需要的數(shù)據(jù)時,就可以使用git rm命令來刪除莹弊。
使用git mv命令在工作區(qū)中重命名文件涤久,或者移動文件涡尘,然后再添加到暫存區(qū)中。
有時候我們把工作區(qū)中不需要的文件忽視掉响迂,就要使用git ignore.
接下來我們看下 Mac下Git命令匯總
2.git --version
查看當前使用的git版本;
3.git config --global user.name Jack
配置git的用戶名蔗彤;
4.git config --global user.email *****
配置git的郵箱川梅;
5.git config --help
或者
git help config
或者
man git-config
查看git config的文檔
6.git config --global --add user.name Mike
增加一位用戶;
7.git config --list --global
查看當前的用戶名和郵箱然遏;
git config --global --unset user.name Mike
刪除某一個用戶名或者郵箱贫途;git log
查看日志,需要在某個repository下面執(zhí)行待侵;
10 . git init repo
創(chuàng)建一個名字為repo的倉庫丢早;
11.git init --bare bare_repo
創(chuàng)建一個名字為bare_repo的裸倉庫;
12.git init
直接把某個文件夾作為git倉庫秧倾,在某個文件夾下執(zhí)行該命令怨酝;
- git clone
克隆某個倉庫;
14.mkdir aaa
創(chuàng)建一個文件夾aaa那先;
15.touch a
新建一個a文件农猬;
git add a b
把a和b兩個文件添加到暫存區(qū);git commit -m "注釋"
把暫存區(qū)中的文件提交到歷史區(qū)售淡;git rm a
從工作空間和暫存區(qū)刪除a文件斤葱;
19.git rm --cached a
從暫存區(qū)刪除a;
git checkout a
從歷史區(qū)檢出a文件到工作區(qū)勋又;git mv a c
把工作區(qū)的a文件重命名為c文件(其實這個命令是一系列操作的綜合)苦掘;
其實該命令執(zhí)行的操作包括:
(1)把a文件刪除了换帜;
(2)新建一個c文件楔壤;
(3)在暫存區(qū)中刪除了a文件;
(4)并把c文件add到了暫存區(qū)惯驼;
注意并沒有執(zhí)行commit命令蹲嚣,此時只是保證了工作區(qū)和暫存區(qū)的同步;
mv a c
僅僅是把a文件重命名為c祟牲,沒有其他的任何操作隙畜。
- git log
查看當前目錄下的日志。