學習一下sourcetree使用gitgit
目錄服務器
一 克隆Clone學習
二 提交Commit和推送Push測試
三 拉取pull和獲取fetchfetch
四 版本回退resetspa
五 檢出checkout.net
六 標籤Tag3d
一 從遠程庫克隆Clone日誌
Clone就是將遠程庫的代碼拷貝到本地。code
填寫遠程和本地項目路徑,點擊「克隆「。這樣就會將服務器上項目代碼克隆到本地了。
git -c diff.mnemonicprefix=false -c core.quotepath=false clone --recursive https://git.coding.net/gamedaybyday/HelloGit.git D:\Git\HelloGit
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
虛線表示拉取到本地倉庫
實現表示拉取到本地倉庫,併合併到工做空間
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin From https://git.coding.net/gamedaybyday/HelloGit
9664a7c..42c8f2e master -> origin/master
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin git -c diff.mnemonicprefix=false -c core.quotepath=false pull origin master From https://git.coding.net/gamedaybyday/HelloGit
* 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這個版本。
git -c diff.mnemonicprefix=false -c core.quotepath=false checkout 657cf95e9925724ea54f81c2dc03f09ab025d571
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