提交Commit
1. Create an empty commit (新增提交)
依序下圖步驟操作即可新增提交
↓完成後會顯示,如下圖
2. Amend previous commit (修改上一個提交)
↓完成會顯示,如下圖
3.uncommit (不提交)
下為按下 uncommit 後的圖面
從這開始就有不同的步驟去刪除多餘的提交
(1) 用 Move 使其刪除
→將藍色origin/master拖曳至move
a.
b.
c.
d.
(2) 利用 push 推回
→ 按下 push 後也會產生出 a. b. c. d. 圖
Tag
add Tag (新增標籤)
標籤是對某個 commit 的指標,類似於分支,標籤可分兩種:
◎輕量標籤 (lightweight tag):是指對某個 commit 的指標,沒有包含其他附註資訊,用來個人使用或暫時標註。
◎有附註標籤(annotated tag):類似於輕量標籤,只是能多附註關於此張標籤的說明及資訊,用於軟體版號等。
新增及刪除標籤步驟跟 branch 相同,在此會用圖說明標籤與分支的不同
(1) 在 commit "test tag-1" 上新增 "說明標籤與分支的不同" 的標籤
(2) 新增後
(3) 提交一個 "test tag-2" 的 commit ,分支 aaa 移至新的提交位置上,而標籤 "說明標籤與分支的不同" 停留於原處。
Megre (合併)
Move (移動)
可用來移動分支,範例如下
(1) 點分支 master
(2) 按下 Move
(3) 詢問是否移動此分支(這個行動有在歷史上出現過)
(4) 下為移動後的圖面
Cherry pick
Cherry pick (撿取某分支的 commit 來合併,但不是全部的 commit )
(1) 下圖中游標所在位置是想要合併的 commit ,點它
(2)按下 Cherry pick
(3) master所在位置為撿取的 commit
Revert (還原)
再做一個 新 commit ,來取消不要的 commit,原本的 commit 還是會存留在歷史紀錄中。
適合在多人共同協作的專案中,使用 Revert 對於其他協同者來說不算是修改歷史,而是增加一個新的 commit 。
(1) 在資料夾中新增 2.txt
(2) 進行 commit and push
(3) 點選要進行 revert 的 commit
(4) 點 revert
(5) 會顯示出 Rvert "test revert",此項新 commit
(6) 資料夾中的 2.txt 會消失,讓整個資料夾還原
Reset (重新)
直接刪除不要的 commit (會讓歷史中的紀錄改變),常用在未推交的 commit ,適用於個人的專案。
(1) 進行 commit
(2) 點游標所在處
(3) 按 Reset
Rebase (重新定義參考基準)
重新定義某分支的參考基準。每一個 commit 都能增加分支,而分支的基準就是產生出此分支的 commit ,rebase 是能把產生出該分支的 commit 改到另一個 commit ,但是使用 rebase 會影響到 commit 原有的先後關係,所以操作時要多加注意。在此使用範例去解說:
(1) 利用 scite 建立一個 test rebase.htm ,內容如下圖並另存至資料夾。
(2) 在分支 master 上進行提交