掌握 Git 常用設定與指令讓你的程式開發更有效率

掌握 Git 常用設定與指令讓你的程式開發更有效率

目錄

Git 是一款強大的開源版本控制工具,被廣泛用於追蹤程式碼的變更、創建和切換分支、合併程式碼,以及協同開發等。考慮到它的多功能性,我將我常用的 Git 指令和設定記錄下來,方便我日後查詢和使用。

Git 初始化與設定

初始化倉庫和設定使用者資訊。

# 設定使用者名稱
git config --global user.name "<username>"

# 設定使用者信箱
git config --global user.email "<email>"

# 倉庫初始化
git init -b main && git add . && git commit -m 'Initial commit'

Git 倉庫複製

從遠端數據庫複製倉庫到本地端。

# 從遠端數據庫複製整個倉庫到本地端數據庫
git clone <url>

# 從遠端數據庫複製整個倉庫到本地端數據庫,但只複製最新的一次提交
git clone <url> --depth 1

# 從遠端數據庫複製指定分支的最新一次提交到本地端數據庫
git clone <url> --depth 1 --branch <branchname>

Git 基本操作

基本的檔案添加和提交操作。

# 將所有檔案加入暫存區
git add .

# 將檔案加入暫存區
git add <filename>

# 提交暫存區的檔案到倉庫且允許空訊息
git commit --allow-empty-message -m "<message>"

修改歷史訊息

更改提交的訊息。

# 修改最後一次提交的 commit 訊息
git commit --amend -m "<message>"

# 修改最近 n 個 commit 的訊息
git rebase -i HEAD~<number>

遠端操作

與遠端數據庫相關的操作。

# 添加遠端數據庫
git remote add origin <url>

# 刪除遠端數據庫
git remote remove origin

# 修改遠端數據庫的連結
git remote set-url origin <url>

# 查看遠端數據庫
git remote -v

# 將本地端的分支推送到遠端數據庫
git push origin <branchname>

# 將本地端的分支推送到遠端數據庫,-u 參數會將本地端的分支與遠端數據庫的分支建立關聯
git push -u origin <branchname>

# 刪除遠端數據庫的分支
git push origin --delete <branchname>

# 從遠端數據庫拉取分支到本地端數據庫
git pull origin <branchname>

# 刪除本地端數據庫中已經不存在於遠端數據庫的分支
git fetch --prune

分支操作

分支的創建、切換和刪除。

# 建立分支,並切換到該分支
git checkout -b <branchname>

# 切換分支
git checkout <branchname>

# 刪除分支 (安全刪除)
git branch -d <branchname>

# 刪除分支 (強制刪除)
git branch -D <branchname>

# 修改分支名稱
git branch -m <oldbranch> <newbranch>

# 查看所有分支
git branch -a

# 將指定分支的 commit 合併到當前分支 (不會產生 merge commit)
git rebase <branchname>

# 將指定分支的 commit 合併到當前分支 (會產生 merge commit)
git merge <branchname>

暫存區操作

查看和操作暫存區的內容。

# 查看暫存區的狀態
git status

# 查看暫存區的差異
git diff

# 暫存當前的修改
git stash

# 查看暫存區的列表
git stash list

# 恢復暫存區的修改
git stash apply

# 刪除暫存區的修改
git stash drop

# 恢復暫存區的修改並刪除暫存區的修改
git stash pop

# 清除暫存區的所有修改
git stash clear

# 捨棄所有修改
git checkout -- . && git clean -df

壓縮與解壓縮

將分支的原始碼打包成檔案。

# 將指定分支的原始碼打包成 zip 檔
git archive --format zip --output <filename> <branchname>

# 將指定分支的原始碼打包成 tar.gz 檔
git archive --format tar.gz --output <filename> <branchname>

重新配置 .gitignore

.gitignore 設定未正常運作時,重新設定忽略規則。

# 從暫存區移除所有已追蹤的檔案
git rm -rf --cached .

# 將所有檔案添加到暫存區
git add .

# 將暫存區的檔案提交到倉庫
git commit -m "Reset .gitignore"

創建空的分支

創建一個沒有任何提交的新分支。

# 創建一個空的分支
git checkout --orphan <branchname>

# 從暫存區移除所有檔案
git rm -rf .

Git Submodule

管理子模組的添加、更新和移除。

新增與更新 Submodule

# 添加 submodule,並指定 submodule 的路徑
git submodule add <url> <path>

# 初始化 submodule,並將 submodule 更新到最新的 commit
git submodule update --init --recursive

# 更新 submodule,並將 submodule 更新到最新的 commit,並合併到當前分支
git submodule update --remote --merge

移除 Submodule

# 移除 submodule
git submodule deinit <path>

# 將 .gitmodules 添加到暫存區
git add .gitmodules

# 將 submodule 從暫存區移除
git rm --cached <path>

# 刪除 submodule 的 .git 資料夾
rm -rf .git/modules/<path>

# 提交訊息
git commit -m "Remove submodule"

# 刪除 submodule 的資料夾
rm -rf <path>

# 將本地的分支推送到遠端數據庫
git push origin <branchname>
標籤 :
comments powered by Disqus

相關文章

如何快速建置 Node.js 專案並使用 TypeScript 與 Visual Studio Code 進行開發

如何快速建置 Node.js 專案並使用 TypeScript 與 Visual Studio Code 進行開發

安裝 .NET CLI on Windows with Chocolatey choco install dotnetcore-sdk -y on macOS with Homebrew brew install dotnet-sdk on Ubuntu sudo apt-get install dotnet-sdk -y 使用 Will 保哥 的專案範本建立一個新的 TypeScript 專案 安裝專案範本 dotnet new --install Duotify.Templates.DotNetNew 建立新的 TypeScript 專案 mkdir <project-folder> && cd <project-folder> dotnet new tsnode

閱讀更多
Powershell 環境變數設定:自動化您的 Windows 設定

Powershell 環境變數設定:自動化您的 Windows 設定

在 Windows 中,手動設定環境變數通常需要通過系統的進階系統設定來進行,這個過程可能比較繁瑣。幸運的是,我們可以利用 Powershell 來實現自動化的環境變數設定。在本

閱讀更多
使用 youtube-dl / yt-dlp 下載 Youtube 最佳畫質與音質的影片

使用 youtube-dl / yt-dlp 下載 Youtube 最佳畫質與音質的影片

youtube-dl 是一個開源可以下載 Youtube 影片的工具,然而由於版權問題,導致專案被刪除,有神人將專案 fork 出來,並且繼續維護,所以改用 yt-dlp 來取代。 youtube-dl / yt-dlp 不只可以下載 Youtube

閱讀更多