Git學習總結

jopen 12年前發布 | 28K 次閱讀 Git 版本控制系統

       Git 是一個分布式管理工具,通過指紋字符串來時刻保持數據的完整性,關心的是文件數據整體的變化,并不保存變化前后的差異數據;Git 在本地磁盤保存有關項目的歷史更新,所有絕大多數操作只需要訪問本地文件資源,并不需要Internet。當然可以使用GitHbub將代碼托管,進行遠程開發,方便團隊比較分散的情況(這正體現Git分布式的優勢);開發人員只需將項目clone到本地,進行相應的開發然后push上傳到 GitHub(GitHub使用的是utf-8編碼,所以上傳的文件如若不是以utf-8編碼,可能出現亂碼),供別的開發人員更新即可。簡單初學使用參考:http://blog.csdn.net/u011384252/article/details/9351549

         任何文件在Git庫中都有四種狀態:未跟蹤狀態untracked、跟蹤狀態tracked(未修改狀態unmodified、已修改狀態modified、暫存狀態staged),參考http://blog.csdn.net/u011384252/article/details/9406503,由于文件的上述四種狀態,在使用Git進行項目管理的時候涉及到三個區域:

(1)Git 本地數據目錄:每個項目都有一個 git 目錄,它是 Git 用來保存元數據和對象數據庫的地方。該目錄非常重要,每次克隆鏡像倉庫的時候,實際拷貝的就是這個目錄里面的數據。

(2)工作目錄(項目工作空間):從項目中取出某個版本的所有文件和目錄,用以開始后續工作的叫做工作目錄,即就是我們進行項目開發的目錄。

(3)暫存區域:所謂的暫存區域只不過是個簡單的文件,一般都放在 git 目錄中。

 
Git本地倉庫的基本用法
     ① git init :初試化當前目錄為一個Git本地倉庫。
     ② git add <filename> : 如果一個文件是未被跟蹤的,將 一個文件加入到Git版本控制當中,讓Git對其進行跟蹤;如果一個文件是已修改狀態,則將一個文件放到暫存區中。
                git add .  :  "."點表示當前目錄下的所有內容
     ③ git status : 查看當前Git倉庫中所有文件的狀態,若是為跟蹤狀態 則用紅色顯示。
     ④ git diff:比較工作目錄中當前文件和暫存區域快照之間的差異,也就是修改之后還沒有暫存起來的變化內容。
     ⑤ git commit:提交暫存區域。
               git commit -m <說明信息>
               git commit -a 可以跳過暫存區域,直接將已跟蹤的文件暫存起來一并提交。
     ⑥ git rm <filename>:從Git中刪除一個文件。
               git rm --cached <filenmae>:從暫存區刪除一個文件,但是仍保留在工作目錄中。也就是將文件變為未跟蹤狀態。
     ⑦ git log:查看項目提交歷史記錄。
               git log -p 選項展開顯示每次提交的內容差異
               git log --stat 僅顯示簡要的增改行數統計
               git log --pretty=<option> ,其中option可以是:oneline(使每條歷史信息在一行中顯示),short,full,fuller,format(按指定的格式輸出)
               gitk 可以打開歷史記錄的可視化查看窗口。
     ⑧ git commit --amend:修改最后一次提交。該命令是提交當前緩存區快照,并修改最后一次的說明。
     ⑨ git checkout -- <filename>:撤銷對文件的修改,慎用!   
     ⑩ git reset HEAD <filename>:撤銷對文件的暫存,讓文件回到暫存前的狀態。
 
 Git遠程倉庫的基本用法
     ① git clone [url]:將一個遠程倉庫克隆到本地。
     ② git remote:查看當前配置的遠程倉庫,在克隆完某個項目后,至少可以看到一個名為origin的遠程倉庫,Git 默認使用這個名字來標識你所克隆的原始倉庫。如git remote add origingit@github.com:usernmae/repositoryname.git
               -v :顯示對應的克隆地址。
               git remote add [remote-name] [url]:添加一個新的遠程倉庫。
               git remote show [remote-name]:查看遠程倉庫信息。
               git remote rm [remote-name]:移除遠程倉庫。
               git remote rename [old-remote-name] [new-remote-name]:重命名遠程倉庫。
     ③ git push [remote-name] [branch-name]:推送數據到遠程倉庫,remote-name指的是遠程倉庫簡稱,branch-name指的是分支名稱。對于克隆的倉庫默認分別為:origin,master
          git push -u origin master //將本地的項目提交到遠程倉庫
 
Git將遠程倉庫GitHub取回本地
     ① git [url] :  在git下切換到想要存放此項目的目錄,運行這條命令就可以將項目克隆到本地磁盤的當前目錄
     ②項目取回本地,遠程倉庫GitHub上有更新,取得更新
              git fetch origin  //開始取得更新
              git merge origin /master  //將更新內容合并到本地分支/master

系統的學習Git可以參考:
             《Git參考手冊》:http://gitref.cyj.me/zh/index.html
               官方Book《Pro Git》:http://git-scm.com/book/zh/ 
               英文版《Pro Git》參考:http://git-scm.com/book
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!