git 經常使用命令粗略總結

本文版權歸cxun全部,若有轉載請註明出處與本文連接,謝謝!
原文地址:http://www.cnblogs.com/cxun/p/5630190.html

git的功能很強大,可是其實很簡單,用來用去都是這幾個,這裏總結一下,也方便本身往後查詢。寫得比較粗,沒有一些大牛寫得那麼詳細完整,可是做爲入門的話,這幾個命令應該夠用了。html

git官方下載地址:https://git-scm.com/linux

Windows中用的是git bash,按win鍵,輸入git,會自動找出來的。若是安裝的不是portable版本的話,在任意一個文件中按右鍵,點git bash也能夠調出命令行界面。git

如下的命令使用前提是git服務器已搭建好的狀況,有關git服務器有不少,windows平臺下我推薦gitblit,linux平臺我推薦gitlab,有關服務器的搭建等有空的時候再總結,有須要的朋友能夠先從這些服務器軟件的官網裏找。windows

下面2-3是下載代碼用的,4-6是上傳代碼用的,固然上傳代碼也能夠用圖形界面方式來完成,git bash中輸入「git gui」就能夠調出來。bash

1. git status

查看如今代碼庫的狀態,會將當前的代碼與GIT代碼庫比較,若是有差異,要解決衝突才行。解決衝突的狀況比較複雜,這裏就暫時不討論。假設如今想放棄當前的代碼版本,但願將服務器上的版本徹底覆蓋到本地來的話,直接用下面這個命令「git checkout -f」。但前提是 git status 後不能有 Untracked files 的提示(表示有新的文件未被添加給GIT跟蹤),直接用rm命令,好比提示信息是這樣:服務器

Untracked files:
(use "git add <file>..." to include in what will be committed)

ProjectName/ModuleName/Form1.cs.bak
ProjectName/ModuleName/new.txt

分別複製這兩行,執行:工具

rm ProjectName/ModuleName/Form1.cs.bak
rm ProjectName/ModuleName/new.txt

而後再執行一下 git status,沒有 Untracked 提示的話,就能夠執行 git checkout -f 了。gitlab

2. git checkout -f

這是重置當前代碼,恢復到上一次提交或獲取版本的那個狀態,這狀態是沒有衝突的,就能夠git pull了。ui

若是想查看之前版本的內容,能夠經過gitk查詢之前版本的hash值,能夠取前8位,如「bad20cb3」,而後執行「git checkout bad20cb3」,此時代碼版本已經變成之前的版本了,能夠經過在資源管理器中查看各個文件的內容。spa

若是想回到最新版本,直接執行這個命令便可:「git checkout master」

3. git pull

從服務器獲取全部歷史版本的代碼庫,並把本地代碼替換成最新版本的代碼。
(沒有通過設置的話須要執行:git pull origin master)

4. git add --all

把 git status 提示的 Untracked files 中的全部文件添加給GIT代碼庫跟蹤。

5. git commit -a

把當前代碼提交到本地代碼庫,執行後會出現一個版本說明的文本編輯界面(Linux超強大的文本編輯工具「VI」),按「i」,進入文本編輯狀態,此時光標只能用鍵盤的上下左右移動,不支持鼠標。版本說明的規則是,第一行是提交版本的標題,而後回車空一行,在第3行開始,就是詳細的版本說明了。
編輯完成後,按"ESC"返回到VI的命令模式,輸入「:wq」,將保存所輸入的版本說明,並退出VI。而後GIT就會將當前代碼提交到本地代碼庫了。此時服務器上還沒當前的代碼版本,須要用git push來提交到服務器。

6. git push

只有commit過的代碼庫才能提交到服務器,輸入git push回車後,沒有出現報錯信息的話就完成了代碼上傳服務器的工做了。
(沒有通過設置的話須要執行:git push origin master)

7. gitk

用圖形界面方式查看各個版本的信息,包括:提交時間、提交人、代碼差異、版本摘要值等等。

相關文章
相關標籤/搜索