1. 程式人生 > >git學習筆記(1)-git基礎

git學習筆記(1)-git基礎

作為一個裝逼、逗比的程式猿,對於版本管理還停留在svn、cvs,每當看到論壇、帖子中出現git、github字眼都會莫名的jujin,為啥重來沒有試過。

好吧,今天就來看看git它到底有多神奇!在下英語實在是惱火,於是只有看下中文版本的pro git,先分享給大家吧。

下面就是重點了

我的電腦:win7 i3 (就是這麼任性的差)

下載後安裝exe,成功後桌面出現快捷方式。

此後配置git,我是沒有配,所以省略一萬字。

接下來開始,上菜

基本操作

git init : 初始化工作空間,產生.git目錄,用於存放資料及資源。

git add filename : 將file新增到被跟蹤檔案中(即版本控制中);修改後的檔案釋出新的版本也需要執行此命令新增到暫存區。

git clone projectUrl  name :將存在的專案從其他地方複製過來,並取好別名name。

git status :檢視專案中的檔案狀態,只會顯示已在版本控制中的檔案狀態(modified,added,deleted)。

git diff :能檢視本地與暫存區及版本控制中的檔案的不同之處,並用檔案補丁的方式顯示具體增加或刪除的行。

--cached/staged 看已經暫存起來的變化

git commit : 將儲存在暫存區中的檔案(可能是最近幾次add但沒提交的)全部提交到一個新的版本。

-m msg msg為提交版本的註釋

-a 將所有在版本控制中的檔案全部提交,而不管是否是手動add過的

--amend 將新的檔案與上一次提交的檔案合併成一次提交

git reset HEAD file 取消放在在暫存區中要提交的檔案

git cheakout -- file 不修改本次檔案,從版本庫中取得最新的檔案

git rm :刪除版本控制的檔案,若在提交前有修改,則需要加-f強制刪除。

--cached 僅從暫存區刪除,當前目錄中還是存在該檔案

git mv file1 file2:移動檔案,重新命名。

若要將專案中某些檔案忽略版本控制,新建.gitignore檔案中使用正則表示式去限制(如臨時檔案,日誌檔案,以及自動生成的文件(有點不理解什麼意思))

日誌

git log :檢視日誌。

-p:提交日誌的內容差異

-n:檢視最近n次 的提交

-stat:顯示每次修改的行數

--pretty:(重要)

=oneline/short/full/fuller

=format,git log --pretty=format:"%h - %an,%ar:%s"

--since/after/befor 

--auchor 指定作者

--grep 註釋中出現的詞

遠端倉庫

git remote :顯示遠端倉庫。

-v (verbose) 顯示對應的克隆地址

git remote add url alias :增加新的遠端倉庫。

git fetch alias: 從倉庫中獲取最新版本的資料

git push [alias] [branchNM] :推送新的資料到遠端倉庫

git remote show :檢視遠端倉庫的資訊

git remote rename :修改倉庫別名(一般不會更改,多了你自己都搞不清楚了)。

git remote rm :刪除遠端倉庫。

標籤

git tag :將完整的一個版本加上標籤有助於區分。

-l 列表顯示所有標籤,可跟正則表示式篩選

-a 新增一個標籤

-m 標籤說明,一般與新增標籤一起使用

git show :顯示相應標籤的版本資訊,並連同顯示打標籤時的提交物件。

像還有其他的自動補全,命令別名,持續更新吧。