整理自廖雪峰老師的教程
初始化乙個git倉庫,使用git init
命令。
新增檔案到git倉庫,分兩步:
使用命令git add
,注意,可反覆多次使用,新增多個檔案;
使用命令git commit -m
,完成。
要隨時掌握工作區的狀態,使用git status
命令。
如果git status告訴你有檔案被修改過,用git diff
可以檢視修改內容(此時未被提交)。
head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id
。
穿梭前,用git log
可以檢視提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog
檢視命令歷史,以便確定要回到未來的哪個版本。
用git diff head -- readme.txt
命令可以檢視工作區和版本庫裡面最新版本的區別
git checkout -- file
可以丟棄工作區的修改(就是讓這個檔案回到最近一次git commit或git add時的狀態。)
git reset head
可以把暫存區的修改撤銷掉(unstage)
git reset
命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用head
時,表示最新的版本。
撤銷修改 總結:
場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file
。
場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head
,就回到了場景1,第二步按場景1操作。
命令git rm
用於刪除乙個檔案。如果乙個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪。
要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git
;
關聯後,使用命令git push -u origin master
第一次推送master分支的所有內容;
此後,每次本地提交後,只要有必要,就可以使用命令git push origin master
推送最新修改;
要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone命令轉殖。
$ git clone git@server-name:path/repo-name.git
git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。
git鼓勵大量使用分支:
檢視分支:git branch
建立分支:git branch
切換分支:git checkout
建立+切換分支:git checkout -b
合併某分支到當前分支:git merge
刪除分支:git branch -d
當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。
用git log --graph
命令可以看到分支合併圖。
合併分支時,加上--no-ff
引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。
當手頭工作沒有完成時,先把工作現場git stash
一下,然後去修復bug,修復後,再gitstash pop
,回到工作現場。
git stash list
檢視之前儲存的現場
需要恢復一下,有兩個辦法:
另一種方式是用git stash pop
,恢復的同時把stash內容也刪了
你可以多次stash,恢復的時候,先用git stash list
檢視,然後恢復指定的stash,用命令:
開發乙個新feature,最好新建乙個分支;
如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d
強行刪除。
多人協作的工作模式通常是這樣:
首先,可以試圖用git push origin
推送自己的修改;
如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull
試圖合併;
如果合併有衝突,則解決衝突,並在本地提交;
沒有衝突或者解決掉衝突後,再用git push origin
推送就能成功!
如果git pull
提示no tracking information,則說明本地分支和遠端分支的鏈結關係沒有建立,用命令git branch --set-upstream-to
origin/
。
小結命令git tag
用於新建乙個標籤,預設為head,也可以指定乙個commit id;
命令git tag -a -m "blablabla..."
可以指定標籤資訊;
命令git tag
可以檢視所有標籤。
命令git push origin
可以推送乙個本地標籤;
命令git push origin --tags
可以推送全部未推送過的本地標籤;
命令git tag -d
可以刪除乙個本地標籤;
命令git push origin :refs/tags/
可以刪除乙個遠端標籤。
常用命令 Git 常用命令大全
安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...
git 常用命令
檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...
git常用命令
詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...