git 初始化
配置個(gè)人信息
首先,你需要執(zhí)行下面兩條命令,作為git的基礎(chǔ)配置,作用是告訴git你是誰,你輸入的信息將出現(xiàn)在你創(chuàng)建的提交中.
git config --global user.name "你的名字或昵稱"
git config --global user.email "你的郵箱"
初始化工作樹
然后在你的需要初始化版本庫(kù)的文件夾中執(zhí)行
cd $WORK
git init
git remote add origin <你的項(xiàng)目地址> //注:項(xiàng)目地址形式為:http://git.oschina.net/xxx/xxx.git或者 git@git.oschina.net:xxx/xxx.git
上述操作的結(jié)果是在 $WORK 目錄下創(chuàng)建了一個(gè) .git 隱藏目錄土辩,它就是所謂的 Git 倉(cāng)庫(kù)鸟顺,不過現(xiàn)在它還是空的。另外 $WORK 目錄也不再是普通的文檔目錄了,今后我們將其稱為工作樹飒焦。
克隆一個(gè)項(xiàng)目
git clone <項(xiàng)目地址>
項(xiàng)目管理
生成臨時(shí)快照 git add
若將工作樹下所有文檔 (包含子目錄)生成快照,可采用以下命令:
cd $WORK
git add .
指定部分如: git add <文件>,git add <文件夾>
所生成的快照被存放到一個(gè)臨時(shí)的存儲(chǔ)區(qū)域吱涉,Git 稱該區(qū)域?yàn)樗饕欠浮dd幾個(gè)參數(shù)說明:
- git add -A 保存所有的修改
- git add . 保存新的添加和修改,但是不包括刪除
- git add -u 保存修改和刪除窃植,但是不包括新建文件帝蒿。
提交到本地倉(cāng)庫(kù) git commit
使用git-commit命令可將索引提交至倉(cāng)庫(kù)中,這個(gè)過程稱為提交巷怜,每一次提交都意味著版本在進(jìn)行一次更新葛超。最簡(jiǎn)單的用法如下:
git commit -m "你的版本更新信息"
如對(duì)項(xiàng)目有做刪除文件或文件夾的操作,需要用-a參數(shù)提交
git commit -am "你的版本更新信息"
提交到遠(yuǎn)程服務(wù)器git push
項(xiàng)目的管理流程 init --> add --> commit --> push;
更新本地工作樹git pull
git文檔忽略機(jī)制.gitignore
其中的 zh 目錄存放著 TEX 文檔編譯時(shí)生成的中間文件,因此該目錄不應(yīng)該被Git 所管理延塑。Git 提供了文檔忽略機(jī)制绣张,可以將工作樹中你不希望接受 Git 管理的文檔信息寫到同一目錄下的.gitignore文件中.
cd $WORK
echo "zh" > .gitignore
git add .
有關(guān) gitignore 文件的諸多細(xì)節(jié)知識(shí)可閱讀其使用手冊(cè):
man gitignore
查看版本歷史
git log
想看一下每一次版本的大致變動(dòng)情況,可使用以下命令:
git log --stat --summary
可查看該次項(xiàng)目版本的更新細(xì)節(jié)
git show da4b9ce37531bbb43d8187d7a651e228e26f1212
除了使用完整的版本號(hào)查看項(xiàng)目版本更新細(xì)節(jié)之外关带,也還可以使用以下方式:
git show da4b # 一般只使用版本號(hào)的前幾個(gè)字符即可
git show HEAD # 顯示當(dāng)前分支的最新版本的更新細(xì)節(jié)
每一個(gè)項(xiàng)目版本號(hào)通常都對(duì)應(yīng)存在一個(gè)父版本號(hào)侥涵,也就是項(xiàng)目的前一次版本狀態(tài)∷纬可使用如下命令查看當(dāng)前項(xiàng)目版本的父版本更新細(xì)節(jié):
git show HEAD^ # 查看 HEAD 的父版本更新細(xì)節(jié)
git show HEAD^^ # 查看 HEAD 的祖父版本更新細(xì)節(jié)
git show HEAD~4 # 查看 HEAD 的祖父之祖父的版本更新細(xì)節(jié)
可以對(duì)項(xiàng)目版本號(hào)進(jìn)行自定義(添加tag)芜飘,然后就可以使用自定義的版本號(hào)查看對(duì)應(yīng)的項(xiàng)目版本更新細(xì)節(jié):
git tag v0.1 dfb02
git show
查看所有tag及注釋
git tag -l -n
撤銷和恢復(fù)
git reset
git-reset 命令有三個(gè)選項(xiàng):--mixed 、 --soft 和 --hard 磨总。我們?cè)谌粘J褂弥袃H使用前兩個(gè)選項(xiàng)嗦明;第三個(gè)選項(xiàng)由于殺傷力太大,容易損壞項(xiàng)目倉(cāng)庫(kù)蚪燕,需謹(jǐn)慎使用娶牌。
- --mixed 是 git-reset 的默認(rèn)選項(xiàng),它的作用是重置索引內(nèi)容馆纳,將其定位到指定的項(xiàng)目版本诗良,而不改變你的工作樹中的所有內(nèi)容,只是提示你有哪些文件還未更新厕诡。
- --soft 選項(xiàng)既不觸動(dòng)索引的位置累榜,也不改變工作樹中的任何內(nèi)容,但是會(huì)要求它們處于一個(gè)良好的次序之內(nèi)灵嫌。該選項(xiàng)會(huì)保留你在工作樹中的所有更新并使之處于待提交狀態(tài)壹罚。
分支版本切換 git checkout branch_name
git 幫助文檔man,help
man git reset
git reset --help