15個你可能還不了解的 Git 命令

15個你可能還不了解的 Git 命令

Git 有時可能會令人生畏。因為有太多的命令和細節需要學習。不過雖然Git的內容很多,但閱讀起來還是很輕松的。一旦你克服了最初不堪重負的感覺,就會感覺到有明顯進展。以下是你可能還不知道的 15 個 git 命令的列表,希望它們能幫助你熟練掌握Git。

1.修改最近的提交

git commit --amend

—-amend 允許你把階段性更改(例如添加被遺忘的文件)附加到上一次提交。添加 –no-edit 將會修改最后的提交但不更改它的提交消息。如果沒有更改,–amend 將允許你重新輸入最后的提交消息。

更多信息:git help commit。

2.以交互方式添加文件的選定部分

git add -p

-p (或 —patch) 允許以交互的形式選擇每個跟蹤文件中要提交的部分。這樣每次提交僅包含相關的更改。

更多信息:git help add

3.以交互方式隱藏文件的選定部分

git stash -p

與 git-add 類似,你可以使用 –patch 選項以交互方式選擇每個要跟蹤文件的部分。

更多信息:git help stash

4.隱藏未跟蹤的文件

git stash -u

在默認情況下,存儲時不包括那些未跟蹤的文件。為了改變這種行為并包括那些文件,你需要使用 -u 參數。還有一個 -a(-all)參數可以存儲所有未跟蹤和忽略的文件,這種操作通常能是你不需要的。

5.以交互方式還原文件的選定部分

git checkout -p --patch` can be also used to selectively discard parts of each tracked file. I aliased this command  as `git discard

更多信息:git help checkout

6.切換到上一個分支

git checkout -

此命令使你可以快速切換到先前簽出的分支。通常 – 是上一個分支的別名。它也可以與其他命令一起使用。我為 checkout 創建了一個別名 co,因此可以是 git co –

7.恢復所有本地更改

git checkout .

如果你確定可以放棄本地所有更改,則可以用 . 一次完成。但是始終使用 checkout –patch 是一個好習慣。

8.顯示更改

git diff --staged

該命令顯示所有已階段化的更改(已添加到索引中的更改),而與 git diff 相比,后者僅顯示工作目錄中的更改(索引中沒有更改)。

更多信息:git help diff

9.在本地重命名分支

git branch -m old-name new-name

如果要重命名當前簽出的分支,可以將命令縮短為以下形式:

git branch -m new-name

更多信息:git help branch

10.遠程重命名分支

為了遠程重命名分支,在本地重命名分支后,你需要先遠程刪除該分支,然后再次推送重命名的分支。

git push origin :old-name git push origin new-name

11.一次打開所有有沖突的文件

重新設置基準可能會導致沖突,以下命令將打開需要你解決這些沖突的所有文件。

git diff --name-only --diff-filter=U | uniq  | xargs $EDITOR

12.發生了什么變化?

git whatchanged —-since=‘2 weeks ago’

該命令將顯示一個日志,其中包含最近兩周內每次提交所引入的差異。

13.從上一次提交中刪除文件

你可以通過結合 rm 和 commit –amend 命令來從上一次提交中快速刪除誤提交的文件:

git rm —-cached <file-to-remove> git commit —-amend

14.查找分支

git branch --contains <commit>

該命令將顯示包含特定提交的所有分支。

15.在本地優化存儲庫

git gc --prune=now --aggressive

更多信息:git help gc

總結

盡管我非常喜歡CLI,但還是強烈建議使用 Magit 來進一步提高你使用 Git 的效率。它是我用過的最好的軟件之一。

也可以通過 help 命令查看 Git 工作流程的精彩概述。請務必仔細閱讀!

git help workflows

英文原文地址:?https://zaiste.net/15-git-commands-you-may-not-know/?為了保證的可讀性,本文采用意譯而非直譯。

教程推薦:《Git

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享