1. 程式人生 > >淺談git小結

淺談git小結

1 、建立新倉庫

       建立新資料夾,開啟,然後執行,用來建立新的git倉庫(相當於初始化,這樣會生成一個.git 檔案):git init

2、檢出倉庫

       執行如下命令建立一個本地倉庫的克隆版本: git clone  /path/to/repository

       例如:gti clone [email protected]::/path/to/repository

3、工作流(原理)

      本地倉庫由git維護的三棵“樹”組成。第一個是工作目錄,

他持有實際檔案,第二個是快取區(index),他像個快取區域,臨時儲存你的改動;最後是HEAD,指向你最近一次提交後的結果。

形象演示圖如下:

 

4、新增與提交

      可以計劃改動(吧他們新增到快取區),使用如下命令:git add <filename>

                                                                                                git  add *

      這是Git基本工作流程的第一步;使用如下命令以實際提交改動:git commit -m "程式碼提交資訊"

     現在,改動就可以提交到HEAD,但是這些操作僅僅是在本地倉庫,還沒有到遠端倉庫。

5、推送改動

     現在改動僅僅是在本地倉庫的HEAD中。執行如下命令可以將這些改動提交到遠端倉庫: gti  push  origin  master

      (注:master的含義是主分支,但是你也可以將master換成你想推送的任何分支)

     如果你還沒有克隆現有的倉庫,並於講你的倉庫連線到某個遠端服務,你可以使用如下命令新增:

                                 git remote add origin <server>

     路徑示範:git remote add origin  [email protected]:/home/wer.git 

      如此就能夠將你的改動推送到所新增的伺服器上去了

6、分支

     分支是用來將特性開發絕緣開來的。在你建立倉庫的時候,master是“預設的”,在其他分支上進行開發,完成後將他們合併到主分支上。

     建立一個叫做“feature_x”的分支,並且換過去:git checkout  -b feature_x

                                                      切換回主分支:git checkout master

                                         再把新建的分支刪掉:git branch -d feature_x

   除非你將分支推送到遠端倉庫,不然該分支就是不為他人所見的:git push origin <branch>

7、更新與合併

      要更新你的本地倉庫至最新改動,執行:git pull

       以在你的工作目錄中   獲取(fetch)並  合併(merge)遠端的改動。要合併其他分支到你的當前分支(例如master)

,執行:git  merge  <branch>

       兩種情況下,git 都會嘗試去自動合併改動。不行的是,自動合併並非次次都嗯呢該成功,並且可能導致  衝突(conflicts)。這時候就需要你修改這些檔案來人柔和稱這些衝突(conflicts)了。改完之後,你需要執行如下命令以將他們標記為合併成功:git add <filename>

在合併改動之前,也可以使用如下命令檢視:git diff <source_branch> <target_branch> 

8、標籤

     在軟體釋出時穿件標籤,是被推薦的。這是個就概念,在SVN中也有。可以執行如下命令已建立一個叫做1.0.0的標籤:

      git tag 1.0.0 123123123

     其中123123123是你想標記的提交ID的前10為字元。使用吐下命令獲取提交ID:git log

     也可以是該提交的ID的少一些的前幾位,只要他是唯一的。

9、替換本地改動

     假如做錯了操作,可以使用如下命令替換掉本地的改動:git checkout --<filename>

     此命令合適HEAD中最新的內容替換到你的工作目錄中的檔案。已新增到快取區的改動,以及新檔案,都不受影響。

     假如想丟掉所有本地改動與提交,可以到服務騎上獲取最新的版本並將你本地主分支指向她:git fetch origin 

                                                                                                                                                        git reset --hard origin/master

 

 

參考連結:http://www.bootcss.com/p/git-guide/   人家比我寫的好太多了