Git與Sourcetree的教程與學習(轉)

原文鏈接:https://www.cnblogs.com/gamedaybyday/p/6373312.html

這是一篇寫的很詳細的關於Git和sourcetree的文章

對於初學者來說很有幫助。

這裏轉載用於學習和複習

 

一 克隆Clone

二 提交Commit和推送Push

三 拉取pull和獲取fetch

四 版本回退reset

五 檢出checkout

六 標籤Tag

 

 

一 從遠程庫克隆Clone

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

 

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

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到遠程庫。

 

1

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