安裝
Installing on Mac
通過 Homerew 安裝
brew install git
其它平臺安裝可以參考:Installing Git
創(chuàng)建新倉庫
創(chuàng)建新文件夾,進入,然后執(zhí)行:
git init
檢出倉庫
// 從本地
git clone /path/to/repository
// 遠端服務器
git clone username@host:/path/to/repository
工作流
本地倉庫由 git 維護的三棵 “樹” 組成。分別是:
-
工作目錄:持有實際文件 -
緩存區(qū): 它像個緩存區(qū)域,臨時保存你的改動 -
HEAD指向你最近一次提交后的結果
忽略某些文件時,需要編寫 .gitignore,比如:
/node_modules
/public/storage
/public/hot
/storage/*.key
/vendor
/.idea
Homestead.json
Homestead.yaml
.env
composer.phar
添加與提交
查看狀態(tài)
git status
添加到暫存區(qū)
// 添加指定文件
git add <filename>
// 添加所有文件
git add *
// 添加當前目錄的所有文件
git add .
提交暫存的區(qū)內(nèi)容,納入版本管理
git commit -m "代碼提交信息"
查看提交紀錄
// 顯示所有紀錄
git log
// 通過簡短的方式顯示
git log --oneline
推送改動
在提交到本地倉庫的 HEAD 中后,可以將這些改動提交到遠端倉庫:
git push origin master
master你的遠端分支,當然可以任何分支
如果還有連接到某個遠程服務器倉庫,可以使用如下命令添加:
git remote add origin <server>
分支
分支是用來將特性開發(fā)絕緣開來的。在你創(chuàng)建倉庫的時候,master 是 “默認的”。通常做法是在其他分支上進行開發(fā),完成后再將它們合并到主分支上。
創(chuàng)建一個分支并切換到該分支
git checkout -b feature_x
// 你在此分支上進行開發(fā)...
完成工作切換回 master 分支
git checkout master
刪除不需要的分支
git branch -d feature_x
除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的:
git push origin <branch>
更新與合并
-
pull:更新你的本地倉庫至最新改動git pull將會在你的工作目錄中
獲?。╢etch)并合并(merge)遠端的改動 -
merge:合并其他分支到你的當前分支(例如master):git merge <branch>
無論是 pull 還是 merge 操作,git 都會嘗試去自動合并改動。但自動合并并非次次都能成功,并可能導致 沖突(conflicts)。 這時候就需要你修改這些文件來人肉合并這些 沖突(conflicts)。
改完之后,你需要執(zhí)行如下命令以將它們標記為合并成功
git add <filename>
然后將合并的改動提交到版本控制
git commit -m “fix 沖突”
當然,在合并改動之前,也可以使用如下命令查看兩者的不同之處:
git diff <source_branch> <target_branch>
替換本地改動
如果你對文件有錯誤修改,可以實用命令替換掉本地改動
git checkout -- <filename>
此命令會使用
HEAD中的最新內(nèi)容替換掉你的工作目錄中的文件。已添加到緩存區(qū)的改動,以及新文件,都不受影響。
git checkout -- <filename>命令中的--很重要,沒有--,就變成了 “切換到另一個分支” 的命令
回退所有內(nèi)容到上一個版本
git reset HEAD^
回退到某個特定的版本
git reset c7bf4e542fe368a1c1f558418fa19ad748480e80
將本地的代碼回退到遠程的一樣
git reset --hard origin/master
標簽
軟件發(fā)布時創(chuàng)建標簽,是被推薦的。這是個舊有概念,在 SVN 中也有??梢詧?zhí)行如下命令以創(chuàng)建一個叫做 1.0.0 的標簽:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff是你想要標記的提交 ID 的前10位字符。
使用如下命令獲取提交 ID:
git log
你也可以用該提交 ID 的少一些的前幾位,只要它是唯一的。
資源
版權聲明:自由轉(zhuǎn)載-非商用-非衍生-保持署名(創(chuàng)意共享3.0許可證)