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