新手村導讀 - 7: Git(3)

更新於 發佈於 閱讀時間約 3 分鐘

經過前兩篇比較文書而廣泛的介紹,這次來介紹一下我自己比較常用的幾個指令吧~

泛用基礎的

git pullgit push 這種相對基礎的指令,也是蠻常使用的。

建立並切換新分支

git checkout -b 新分支名稱

可以直接在目前的 Commit 點建立新的分支,並且直接切換到新的分支。如此一來不用分成兩個指令去做建立+切換兩件事情。

分支合併

git merge --no-ff origin/分支名稱

這個指令可以將其他的分支合併到目前所在的分支。

--no-ff:簡單來說是將合併的點移入這個分支,比較詳細的內容可以參考第一篇文章。

origin:避免將遠端分支拉下來後沒有更新,因此用遠端的內容合併可以避免沒有更新到新的內容。

重製修改

git reset --hard 分支名稱或是Hash值

可以用這個指令去調整修改的內容。用 --hard 可以直接忽略從指定的點上後面的所有修改,而用 --soft 可以將指定的點後面的修改退回 Stage 階段,讓你選擇這些修改的去留。

另外,也可以搭配 git fetch --all 做使用,先將分支內容 fetch 下來之後,再用 reset --hard 去將本地的該分支變得跟遠端相同。

確認修改紀錄

git log --oneline

可以用這個指令去顯示此分支的修改紀錄,由於基礎的 git log 指令會顯示的紀錄稍嫌冗長,因此加上 --oneline 讓 Hash 以及修改紀錄濃縮到一行。

確認目前進度

git status

由於在 rebase 跟 merge 在處理時可能會需要解衝突導致處理到昏天暗地(?),因此中間可以隨時用這個指令去確認現在處理到哪個階段了。

整理 Commit 點

git rebase -i Hash值

用這個指令可以整理這個指定 Hash 值以後的 Commit 點(不包含此 Commit 點),可以重新排序、修改修改訊息或是濃縮 Commit 點。下指令開啟 vim 編輯器後,會看到每個點的預設類別為 pick,以下是其他常用的方式:

濃縮:將 pick 修改成 s ,即可將這個點跟前一個點進行濃縮。

修改訊息:將 pick 修改成 reword

排序:直接複製貼上即可調整,有時會產生前後衝突。

刪除:直接將這個點刪除即可。

修改 Commit Message

git commit --amend

這個指令可以修改前一個的訊息內容。

git rebase -i HEAD~3

可以直接調整好幾次 Commit 點以前的內容。

Git Message Reference

在我們打上修改訊息時,訊息內容可以直接包含 Hash 值或是 Issue 的編號,這樣就可以直接在建立 Commit 點時創建超連結,例如:

git commit -m "Fix bug in feature X (see 1a2b3c4d)"

最後推薦給大家一個好用的小工具 -- tig,這個工具可以幫你可視化目前的 git 圖,十分方便喔!

參考資料:

  1. 何時該用 git merge --no-ff?. 先說結論:若沒啥好奇心或 branch 的潔癖的話,可以跳過這篇。可能… | by fcamel | Medium
  2. 技术|如何使用 Tig 浏览 Git 日志 (linux.cn)
  3. 經驗甘苦談
留言
avatar-img
留言分享你的想法!
avatar-img
林柏宇的沙龍
2會員
44內容數
test
林柏宇的沙龍的其他內容
2025/04/27
JWT(JSON Web Token)是基於 JSON 格式的開放標準,主要用於身份驗證與權限確認。本文介紹了JWT的基本結構,並闡述其特點,如降低資料庫壓力、靈活性及無狀態性。JWT 特別適用於分佈式系統。本篇將協助讀者深入理解 JWT 的重要性與實際應用。
Thumbnail
2025/04/27
JWT(JSON Web Token)是基於 JSON 格式的開放標準,主要用於身份驗證與權限確認。本文介紹了JWT的基本結構,並闡述其特點,如降低資料庫壓力、靈活性及無狀態性。JWT 特別適用於分佈式系統。本篇將協助讀者深入理解 JWT 的重要性與實際應用。
Thumbnail
2025/04/20
本文介紹了容器的基本概念、組成部分以及其在應用開發中的重要性,特別是對初階和高階工程師的影響。透過深入探討容器的優點,以及Docker、Kubernetes和ArgoCD等相關技術,幫助讀者理解容器化的應用與管理,進而簡化開發過程並提高效率。適合對容器技術感興趣的開發者從零開始學習與掌握。
Thumbnail
2025/04/20
本文介紹了容器的基本概念、組成部分以及其在應用開發中的重要性,特別是對初階和高階工程師的影響。透過深入探討容器的優點,以及Docker、Kubernetes和ArgoCD等相關技術,幫助讀者理解容器化的應用與管理,進而簡化開發過程並提高效率。適合對容器技術感興趣的開發者從零開始學習與掌握。
Thumbnail
2025/04/13
本文探討自動化測試的核心理念與實際應用,涵蓋如何模擬運行環境、確保程式碼在各種情境下的穩定性,以及進行錯誤處理的方法。文中指出自動化測試的各種優點,並提到設計測試的注意事項。透過使用相關工具和方法,讀者可以有效進行功能測試,並掌握相關技巧以應對常見問題,讓開發過程更為順利。
Thumbnail
2025/04/13
本文探討自動化測試的核心理念與實際應用,涵蓋如何模擬運行環境、確保程式碼在各種情境下的穩定性,以及進行錯誤處理的方法。文中指出自動化測試的各種優點,並提到設計測試的注意事項。透過使用相關工具和方法,讀者可以有效進行功能測試,並掌握相關技巧以應對常見問題,讓開發過程更為順利。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News