開始閱讀git權威指南
第一章:
1、diff和patch的聯合使用
2、cvs -> svn -> git
第二章和第三章:
廢話太多,過
第四章:
命令:
git --version
git config 和 git config--global 和 git config --system 三種命令
git init 初始化當前目錄,生成 .git目錄,即版本庫(此目錄只在根目錄下有)
git add 和 git commit (這兩個命令常用,可以設置別名)
第五章:
概念:
git 暫存區(stage)
注:左側是工作區,右側是.git目錄下的所有東西,其中index就是所謂的暫存區,objects是實體對象庫,HEAD是master所在分支
注:add 命令之後會把工作區的內容存到暫存區,commit命令之後纔會把暫存區的內容存到master分支中
命令:
git diff(工作區和暫存區比較) 和 git diff --cached(暫存區和HEAD比較)和 git diff HEAD(工作區和HEAD比較)
git status 的輸出(加 -s 選擇可以得到簡略的輸出,記住其中第一個M和第二個M的意義)
第六章、第七章和第八章:
概念:
對象ID(40位十六進制的SHA1哈希值)
命令:
git branch 查看當前所在的分支
git log 可以查看提交的記錄(常用的選項包括 --graph 和 --oneline)
git log -l HEAD/master 可以查看HEAD或者master指向的commit結構
git rev-parse HEAD/master 可以得到他們的對象ID
linux 命令中的 sha1sum
git reset 可以重新設置master分支到任意一個commit(如 HEAD^,即HEAD的上一個commit)
reflog可以用來記錄改變的分支操作,以防止誤操作導致指針指向無法找回
git checkout可以重置 HEAD指針
git merge + 對象ID 可以把某個commit 合併到master分支中
(git reset 和 git checkout 兩個命令的詳細用法見原書第七和第八章)