指令 | 含義 | 實例 |
---|---|---|
git config | git初始化有關的 | $ git config –get-all user.email |
mkdir | 創建磁盤目錄 | |
cd | 進入目錄 | |
pwd | 顯示當前目錄 | $ pwd 返回/Users/michael/learngit |
git init | 版本庫初始化 | |
git add | 把文件添加到本地倉庫 | 參數: -A 全部文件 -help查看幫助 git add命令實際上就是把要提交的所有修改放到暫存區(Stage) |
git commit | 提交到本地倉庫 | 參數-m 後面輸入的是本次提交的說明 git commit就可以一次性把暫存區的所有修改提交到分支 |
注意 | 爲什麼Git添加文件需要add,commit一共兩步呢? | 因爲commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:$ git add file1.txt $ git add file2.txt file3.txt $ git commit -m “add 3 files.” |
git status | 掌握倉庫當前的狀態 | |
git diff | 查看某文件修改具體內容 | $ git diff readme.txt |
git log | 查看git commit的歷史記錄 | |
$ git reset | 回退到某一版本 | $ git reset –hard HEAD^ 回退到上一版本(注:上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100)最新的那個版本append GPL已經看不到了!想再回去已經回不去了,腫麼辦?辦法其實還是有的,只要上面的命令行窗口還沒有被關掉,你就可以順着往上找啊找啊,找到那個append GPL的commit id是3628164…,於是就可以指定回到未來的某個版本: |
git reflog | 用來記錄你的每一次命令 | |
git rm | 確實要從版本庫中刪除該文件,那就用命令git rm刪掉,並且git commit | |
git checkout | 用版本庫裏的版本替換工作區的版本 | $ git checkout – test.txt |
$ git remote add origin [email protected]:michaelliao/learngit.git | 本地關聯遠程庫 | 此部分需在github裏找 |
$ git push origin master|把本地master分支的版本推送給遠程origin遠程庫 | 第一次需$ git push -u origin master讓本地和遠程的master分支做關聯 | |
$ git clone [email protected]:michaelliao/gitskills.git | 從遠程庫克隆一個本地庫 | |
$ git branch dev $ git checkout dev | 創建dev分支 並 切換到dev分支 | 在dev分支繼續代碼編寫,保證master分支不變 |
git checkout dev | 切換到dev分支 git checkout master 切換到master分支 | 通過git branch命令可以查看都有什麼分支 。 分支的切換在物理文件存儲部分會對應文件的改變 |
git merge dev | 假如此時在master分支下,則合併dev分支 | 如遇到分支衝突,用git status 查看衝突位置,手動打開文件解決衝突 然後 git add -A 和git commit -m “*” |
git branch -d dev | 刪除dev分支 | |
git log –graph | 查看分支合併圖 | |
git stash | 把當前工作現場“儲藏”起來,等以後恢復現場後繼續工作 | 當手頭工作沒有完成時,先把工作現場git stash一下,然後去修復bug,修復後,再git stash pop(可先用git stash list查看多個儲藏情況),回到工作現場 |
$ git remote -v | 查看遠程倉庫詳細信息 | 默認名爲origin |
$ git push origin master | 把本地倉庫master分支推送到遠程倉庫origin對應master分支 | |
$ git branch –set-upstream dev origin/dev | 指定本地dev分支與遠程origin/dev分支的鏈接 | 合作開發時使用 |
git checkout -b branch-name origin/branch-name | 在本地創建和遠程分支對應的分支 | 使用場景:本地checkout遠程的開發分支dev |
$ git tag v1.0 (默認標籤是打在最新提交的commit上的) | 打標籤,這能增加或刪除,不能像commit指針一樣移動 | 其實就是對於某個commit起一個更容易記的名字,比如commit id 爲213ddafnads不好記,記爲v1.0就更好記了 |
git tag -d v0.1 | 刪除某個本地標籤 | |
git tag | 查看標籤情況 | git show 查看標籤詳細信息 |
git push origin v1.0 | 推送某個本地標籤到遠程 | |
$ git tag -d v0.9 + $ git push origin :refs/tags/v0.9 | 刪除遠程tag 需刪除本地tag 再刪除遠程tag | |
github | fork開源項目到自己github,git clone自己庫裏的該項目到本地,修改commit、push後可push request給原作者來貢獻代碼 | |
.gitignore文件 | 不需要從頭寫.gitignore文件,GitHub已經爲我們準備了各種配置文件,只需要組合一下就可以使用了。所有配置文件可以直接在線瀏覽:https://github.com/github/gitignore | 在Git工作區的根目錄下創建一個特殊的.gitignore文件(touch .ignore),然後把要忽略的文件名填進去,Git就會自動忽略這些文件 |
Git指令彙總
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.