Kyleten

Kyleten

A running around noob, just wondering and wandering.

03 快速上手使用 Git 贰

承接 快速上手使用 Git 壹,上文講了 Git 初始化倉庫,追蹤文件的方法,本篇將會從 分支,遠程倉庫,變基與合併,最後會簡單提及 stash 的使用場景和 GPG 認證

分支創建,切換,刪除#

git branch
# 輸出
* main

該命令可以查詢當前倉庫中的分支數和當前所處的分支 (main),git 初次提交後,會自動建立一個 master/main 分支

創建分支#

git branch dev
# 創建一個名為 dev 的分支,但是不會切換至 dev 分支,此時還在 main 分支

切換分支#

git checkout dev
# 將當前分支從 main 切換至 dev 分支,也可以將這個步驟和上一步驟合併
git checkout -b dev1
# 直接創建 dev1 分支,並切換至 dev1 分支

刪除分支#

git branch -d dev1
# 刪除名為 dev1 的分支

分支合併#

merge 和 rebase 是處理分支合併的兩種不同的方法

合併#

# 以下演示使用 merge 合併
git checkout main
git merge dev

變基#

# 以下是 rebase 合併 dev 分支的方法
git checkout main
git rebase dev

小結#

merge 和 rebase 都是合併分支的方法,區別如下:

  • merge 合併是將兩分支合併後並做一個 commit
  • rebase 是將兩個分支完全合併成一個分支

圖示如下:

merge

Mermaid Loading...

merge 適用於多人共同開發環境,比如使用 dev 分支開發一個新特性,最後使用 merge 來合併到 main 分支

rebase

Mermaid Loading...

rebase 適用於個人開發流程,如個人開發一個項目,為了提交記錄整潔,使用 rebase 將所有提交記錄保存至一個分支

遠程倉庫#

以 Github 為例

git remote add origin https://github.com/kyleten/ddd
# 將 url 鏈接以 origin 命名

在之後每次 commit 後可以使用

git push origin
# 將 commit 提交到遠程倉庫
# 第一次提交需要設置
git push -u origin

stash 使用場景#

在多人開發時,你正在開發一個功能 (功能沒有開發完成,也不想 commit) 但是需要拉取遠程倉庫的更新時,需要使用 stash 將當前工作區保存

git stash -m 'stack1'
# 將當前內容暫存,備註是 stack1

在完成後可以使用以下命令恢復工作區

git stash pop 
# 將最近的暫存恢復
# 也可以指定特定的編號,先使用 list 查看編號
git stash list
# 輸出
stash@{0}: On main: stack1
# 使用以下命令恢復
stash pop 0

GPG 簽名#

具體創建密鑰,安裝軟件,創建簽名子密鑰等內容本文章不涉及

在配置中添加#

git config --global user.signingkey xxxxxxxxx!
# 帶 ! 是指定特定的子密鑰,只有一個密鑰可以去掉 !
git config --global commit.gpgsign true
# 如果在 windows 中無法正常使用,可以使用以下命令
git config --global gpg.program '到\bin\gpg.exe'
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。