一.git的初始化
1.git配置
$ git config --global user.name "xialong"
$ git config --global user.email "xialong@gmail.com"
二.獲得一個(gè)倉(cāng)庫(kù)
有兩種方法可以得到它:一種是從已有的Git倉(cāng)庫(kù)中clone (克隆弯囊,復(fù)制)丛忆;還有一種是新建一個(gè)倉(cāng)庫(kù)猪落,把未進(jìn)行版本控制的文件進(jìn)行版本控制虱黄。
1.Clone一個(gè)倉(cāng)庫(kù)
$ git clone http://git.shiyanlou.com/shiyanlou/gitproject
//在當(dāng)前目錄Clone http://git.shiyanlou.com/shiyanlou/gitproject處的倉(cāng)庫(kù)
2.初始化一個(gè)新的倉(cāng)庫(kù)
$ mkdir project
$ cd project
$ git init
三.正常的工作流程
git的基本流程如下:
A.創(chuàng)建或修改文件
$ touch file1 file2 file3
$ echo "testcontent1" >> file1
$ echo "testcontent2" >> file2
$ echo "testcontent3" >> file3
注:可以用下面命令查看狀態(tài)
$ git status
B.使用git add命令添加新創(chuàng)建或修改的文件到本地的緩存(Index)
$ git add file1 file2 file3
如果是刪除文件,則直接使用git rm命令刪除后會(huì)自動(dòng)將已刪除文件的信息添加到緩存區(qū)赴捞,git commit提交后就會(huì)將本地倉(cāng)庫(kù)中的對(duì)應(yīng)文件刪除逼裆。
C.使用git commit命令提交到本地代碼庫(kù)(可選,有的時(shí)候并沒有可以同步的遠(yuǎn)端代碼庫(kù))使用git push命令將本地代碼庫(kù)同步到遠(yuǎn)端代碼庫(kù)
$ git commit -m "add 3 files"
或
$ git commit -a -m "add 3 files"
//該命令將所有沒有加到緩存區(qū)的修改也一起提交赦政,但-a命令不會(huì)添加新建的文件胜宇。
這個(gè)時(shí)候如果本地的倉(cāng)庫(kù)連接到了遠(yuǎn)程Git服務(wù)器,可以使用下面的命令將本地倉(cāng)庫(kù)同步到遠(yuǎn)端服務(wù)器:
$ git push origin master
四.分支與合并
1.分支
$ git branch experimental //創(chuàng)建一個(gè)新的叫 experimental的分支
$ git branch //查看當(dāng)前分支列表
$ git checkout experimental //切換到experimental 分支
2.合并
$ git merge -m 'merge experimental branch' experimental //合并分支
$ git reset --hard HEAD^ //撤銷一個(gè)合并
$ git branch -d
//只能刪除那些已經(jīng)被當(dāng)前分支的合并的分支. 如果你要強(qiáng)制刪除某個(gè)分支的話就用git branch –D
四.git日志
$ git log
五.比較內(nèi)容
1.比較提交 - Git Diff
$ git diff
//git diff命令的作用是比較修改的或提交的文件內(nèi)容。
2.查看緩存區(qū)內(nèi)與上次提交之間的差別
$ git diff --cached
//查看緩存區(qū)內(nèi)與上次提交之間的差別
六.比分支
$ git diff master test //比較master和test分支