事不宜遲,接續上次的內容,這次介紹基礎的指令吧!
最基礎的指令之一,用於將遠端伺服器的內容抓下來後,更新本地的內容。
*因為是拉下來再更新,因此有可能需要解衝突。
*大部分情況下, git pull = git fetch + git merge
最基礎的指令之一,用於本地的內容推上遠端伺服器去更新內容。如果你推的內容跟遠端的有衝突,會跑出 error 不讓你繼續進行下去,此時可以考慮 rebase 或是搭配 -f 指令去強推分支。然後, -f 指令請慎用,因為遠端的內容會直接被覆蓋要,而且無法復原!
*完整指令: git push origin 本地分支:遠端分支 (-f)
*刪除遠端分支: git push origin :遠端分支
最基礎的指令之一,用於合併分支內容。
這個指令會把遠端的所有分支儲存在本地,但不會進行更新。可以搭配 source 參數去銜接本地與遠端的不同分支的內容。
*儲存特定分支: git fetch origin 遠端分支
*將(遠端)分支1拉下來後,銜接(本地)分支2: git fetch origin 分支1:分支2
這個指令可以處理跟分支有關的操作,例如查詢分支、刪除分支、新建立分支等等。
*查詢分支: git branch
*當前位置新建分支: git branch 新分支名稱
*在指定位置開分支: git branch 新分支名稱 HEAD~^2~
、 git branch 新分支名稱 Hash值
*刪除分支(不能刪除目前自己所在的分支): git branch -D 分支名稱
*強制將分支指向特定位置: git branch -f 分支 分支或Hash值
這個指令主要用來切換分支。 git checkout 分支名稱
基本概念是,rebase 是將 Commit 點搬到別的分支上,而 cherry-pick 則是將別人的 Commit 點撿來目前所在的分支進行使用。
*將分支2搬家到分支1後面: git rebase 分支1 分支2
*撿點(會直接加在目前的位置後面): git cherry-pick (Hash1) (Hash2) …
這兩個指令都是退回 Commit 點的指令。
reset 會直接退回之前的 Commit 點,而 revert 則是將內容退回指定的 Commit 點內容,但是會有新的 Commit 點。
另外一個重點是,revert 只會在你目前所在的分支(以及原始拉出來的分支)生效,在其他分支上即使 hash 值相同,git revert 的效果仍不會顯現!
舉例來說:
現在 A 分支(含有 A0 這個點)合併進入 B、C 兩個分支,那麼 B、C 上面都會有 A0 這個點(同樣內容不同 Hash 值)。當我今天想在這兩個分支上都退掉 A0 時,
這個指令是在特定 Commit 設立標籤,功能簡單,指令也很簡單 git tag 標籤名稱 Hash值
,不過實作上依舊蠻常用到的。
對於開發者本身的意義:
對於使用者來說:
這個指令跟標籤也有關係,主要是用於尋找特定 Commit點往前最近的標籤,畢竟實作上有時已經先鎖定需要哪部分修改內容了,但是反而找不太到版號,此時這個指令就可以派上用場啦~
Git 進度條終於跑完 2/3 了,當我開始整理筆記後才發現之前真的記錄了很多 OAO