SourceTree使用圖解-轉

這篇文檔的目的是:讓使用Git更輕鬆。

看完這篇文檔你能做到的是:

1、簡單的用Git管理項目。

2、怎樣既要開發又要處理髮布出去的版本bug情況。

SourceTree是一個免費的Git圖形化管理工具,mac下也可以安裝。

下載地址:https://www.sourcetreeapp.com/

參考:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

http://www.ruanyifeng.com/blog/2012/07/git.html

基本功能

一 克隆Clone

二 提交Commit和推送Push

三 拉取pull和獲取fetch

四 版本回退reset

五 檢出checkout

六 標籤Tag

 

 

一 從遠程庫克隆Clone

Clone就是將遠程庫的代碼拷貝到本地。

 

填寫遠程和本地項目路徑,點擊“克隆“。這樣就會將服務器上項目代碼克隆到本地了。

  1.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false clone --recursive https://git.coding.net/gamedaybyday/HelloGit.git D:\Git\HelloGit
  2.  
    Cloning into 'D:\Git\HelloGit'...

二 提交Commit和推送Push

commit將工作空間修改提交到本地庫。

push將本地庫修改提交到遠程庫。

新建一個test.txt來測試,任意改點什麼。在文件狀態處可查看,紅色爲刪除,藍色爲增加部分。

 

 將修改後文件由未暫存文件,勾選到已暫存文件。

選擇提交

 

 添加修改日誌。

這裏如果勾選“立即推送變更”則會同時執行commit和push。

 

 

git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\gzy\AppData\Local\Temp\ofkmvj0p.tft

 這時,修改的代碼提交到了本地倉庫。sourcetree會提示有修改代碼尚未推送到遠程庫。

 

 選擇推送。將本地倉庫推送push到遠程庫。

 

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master

三 拉取pull和獲取fetch

pull 從遠程拉取最新版本 到本地  自動合併 merge

fetch   從遠程獲取最新版本 到本地   不會自動合併 merge

 

虛線表示拉取到本地倉庫

實現表示拉取到本地倉庫,併合併到工作空間

  1.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
  2.  
    From https://git.coding.net/gamedaybyday/HelloGit
  3.  
    9664a7c..42c8f2e master -> origin/master
  4.  
     
  5.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
  6.  
     
  7.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false pull origin master
  8.  
    From https://git.coding.net/gamedaybyday/HelloGit
  9.  
    * branch master -> FETCH_HEAD

 

假如有衝突,使用解決衝突。

 

 四 版本回退reset

reset 將當前版本回退到選定的版本

 

 

 

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q --mixed 657cf95e9925724ea54f81c2dc03f09ab025d571

 五 檢出checkout

checkout 創建分支,切換分支。

checkout時,如果只有當前分支,則會新建一個分支。

如果是兩個分支間checkout,則會切換分支。

 

 

 

將項目從最新checkout到modify11:46,這時HEAD指向到modify11:46這個版本。

 

  1.  
    git -c diff.mnemonicprefix=false -c core.quotepath=false checkout 657cf95e9925724ea54f81c2dc03f09ab025d571
  2.  
    Note: checking out '657cf95e9925724ea54f81c2dc03f09ab025d571'.

 

當修改這個checkout的分支時。可以看到從modify11:46checkout後,修改的提交會忽略到modify11:47以後的提交。

相當於checkout命令 創建了新分支,並切換到了這個分支。

 

 

但是這個分支是不存在的。要新建一個分支。

 

 

 六 標籤Tag

tag 就是給這個版本打個標記,方便用於識別查看等操作。

 

 

 

 

git -c diff.mnemonicprefix=false -c core.quotepath=false tag -a -m "" tag3

操作詳解

1、從Git服務器上獲取項目

 

 

 

2、提交我的修改項目

 

 

3、發佈新版本

 

 

4、修復bug

 

分支管理

  • Master 遠程主分支
  • Dev 遠程開發分支,主要用來進行協同開發
  • My 本地主分支
  • Bug branch bug修改分支
  • Feature branch 功能分支 命名格式:my-feature-login 本地主分支名 + feature + 功能名稱

理論上本地功能分支和bug分支都是要先合併到本地主分支,然後再合併到本地dev分支,確定沒有衝突後,推送到遠程分支。

 

 

add---

配置忽略文件

利用.gitignore過濾文件,如編譯過程中的中間文件,等等,這些文件不需要被追蹤管理。
.gitignore文件只對還沒有加入版本管理的文件起作用,如果之前已經用git把這些文件納入了版本庫,就不起作用了
使用sourcetree添加忽略文件的方法:
正常情況下,管理員創建項目後需要直接將忽略文件創建好。創建方法如圖:


25.png


按照如上步驟操作即可編輯衝突文件。
衝突文件規則:
忽略文件夾(如:bin、obj):
obj/
bin/
某目錄下的所有.txt文件,
obj/*.txt
開發的過程中可能遇到一些忽略文件中未添加的文件,此時需要開發者自行添加忽略文件,添加方法如下:
之前已經介紹過未進行版本控制的或者受版本控制的文件,在sourcetree的“文件狀態” 標籤中查找,如圖所示:


clipboard.png


鼠標右鍵要忽略的文件,點擊“忽略”,選擇忽略的模式,即可將文件進行忽略,如圖所示:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章