常用 Git 命令

摘要:本文整理一些經常使用的 git 命令,以便快速查閱。

作者:蔡煥麟

避免每天輸入帳號密碼

記住你的 Git 使用者名稱:

git config --global user.name "你的 Git 帳號名稱"

記住你的 Git 使用者 email 信箱:

git config --global user.email "你的 Git 帳號 email"

記住你的身分,以免經常要輸入密碼:

git config --global credential.helper cache

將檔案納入版本控制

將檔案納入版本控制,另一個說法是:將檔案加入暫存區(staging area)。沒有納入版控的檔案,在執行許多 git 相關操作時就會被忽略。

將檔案納入版控的命令是 git add。以下指令可加入一個檔案:

git add 檔案名稱

如果要加入現行目錄下的全部檔案,包含子目錄,則可以用:

git add .

也可以使用萬用字元來指定要加入版控的檔案:

git add hello*.txt

查看 Git 儲存庫的狀態

git status

保存變更於本機儲存庫

以下命令會將目前已納入版控、且有修改的檔案儲存為一個版本記錄(一個 commit):

git commit

上述指令會開啟預設的文字編輯器,要求你輸入該次 commit 的簡要說明文字。如果沒有輸入說明文字,則該命令會中止。你也可以在命令列加上 -m 參數來提供說明文字:

git commit -m "修正一個 bug"

請記住:git commit 只會儲存已納入版控的檔案,也就是已加入暫存區(staging area)的檔案。參見稍早介紹的 git add 命令

刪除檔案

git rm 檔案名稱

更改檔案名稱

git mv 目前檔名 新的檔名

與遠端儲存庫的互動命令

從遠端儲存庫拉回最新的變更

git pull

git pull 會先執行 fetch 命令來將遠端儲存庫的最新版本拉回至本機,然後與本機儲存庫當前的檔案作合併。如果你只想要從遠端儲存庫拉回最新版本,但是不要執行合併,可以用:

git fetch

從來源(上游)儲存庫拉回最新的變更

如果你的本機儲存庫是透過 fork 操作所產生的副本儲存庫,那麼當你想要獲取來源儲存庫的最新版本時,就不是用 git pull,而需要使用不同的命令。

首先,你需要在你的本機儲存庫的目錄下執行以下命令來設定來源儲存庫:

git remote add upstream 來源儲存庫的網址

上述命令只需要執行一次,用途是設定來源儲存庫的位址,並將此來源命名為 upstream。一旦設定完成,日後每次要拉回原始儲存庫的最新版本,就只要執行以下命令:

git fetch upstream
git merge upstream/master

第一道命令會把原始儲存庫的最新版本全部拉回本機工作目錄。第二道命令則會將這些拉回的新版檔案合併至本機儲存庫。

註:有些儲存庫的主分支名稱不是 “master” 而是 “main”,那麼剛才的 git merge 命令後面指定的分支名稱就必須改為 upstream/main

將本機變更推送至遠端儲存庫

git push

當 git pull 失敗時

如果你在執行 git pull 時出現以下錯誤訊息:

需要指定如何調和偏離的分支。

英文訊息是:

You have divergent branches and need to specify how to reconcile them.

可以嘗試用 git pull --rebase 來解決。

忽略某些檔案

有些不需要納入版控的資料夾或檔案,可以透過儲存庫的根目錄下的 .gitignore 純文字檔案來設定。只要把那些不想納入版控的檔案或資料夾名稱加入這個檔案即可。

分支操作

列出分支清單:

git branch

切換至另一個分支:

git checkout 分支名稱

刪除一個分支:

git branch -d 分支名稱

標籤:

分類:

更新時間:

留言