你應該掌握的30個基本Git命令

當涉及到軟體開發時,版本控制是必不可少的。它允許你跟蹤你的程式碼變化,恢復到以前的階段,並與你的團隊在一個專案上進行合作。最流行的版本控制系統之一是Git。無論你是一個剛剛起步的初學者,還是一個希望簡化工作流程的經驗豐富的開發者,瞭解Git命令無疑是一種技能,它將帶來回報。

git-commands

在這篇文章中,我們將深入探討每個開發者都應該知道的30個基本Git命令。這些命令將幫助你初始化倉庫,進行提交,建立和切換分支,以及更多。掌握了這些命令,你就可以成為一個更有效率和效益的開發者了。

1. git init

這個命令用來初始化一個新的Git倉庫。它在你當前的工作目錄下建立一個新的.git子目錄。這也將建立一個名為master的新分支。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git init
git init
git init

這將在你的當前目錄下初始化一個 Git 倉庫。

2. git clone

這個命令用來克隆一個倉庫。它在你的本地機器上建立一個遠端倉庫的副本。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git clone https://github.com/username/repository.git
git clone https://github.com/username/repository.git
git clone https://github.com/username/repository.git

這將在你的本地機器上克隆給定URL的版本庫。

3. git add

該命令新增一個檔案到暫存區,為提交做準備。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git add filename
git add filename
git add filename

這將把名為 “filename” 的檔案新增到暫存區。

4. git commit

這個命令用來儲存你的修改到本地倉庫。它對你用git add暫存的改動做了一個快照。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git commit -m "Commit message"
git commit -m "Commit message"
git commit -m "Commit message"

這將提交您的修改,並附帶一條描述您所做修改的資訊。

5. git status

這個命令顯示修改的狀態,如未跟蹤、已修改或已快取。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git status
git status
git status

這將顯示你工作目錄的狀態。

6. git pull

該命令從遠端倉庫獲取修改,並將其合併到你的當前分支。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git pull origin master
git pull origin master
git pull origin master

這將從origin遠端倉庫的主幹分支中提取變化。

7. git push

該命令將你提交的修改傳送到遠端倉庫。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git push origin master
git push origin master
git push origin master

這將把你提交的修改推送到origin遠端倉庫的主幹分支。

8. git branch

這個命令列出了你的版本庫中的所有分支。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git branch
git branch
	
git branch

這將列出你的版本庫中的所有分支。

9. git checkout

該命令用於在 Git 倉庫的不同分支之間進行切換。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git checkout branch-name
git checkout branch-name
git checkout branch-name

這將切換到名為 “branch-name” 的分支。

10. git merge

該命令將一個分支的修改合併到另一個分支。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git merge branch-name
git merge branch-name
git merge branch-name

11. git diff

該命令顯示尚未分階段的檔案差異。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git diff
git diff
git diff

這將顯示自上次提交以來未被快取的差異。

12. git reset

該命令解除了檔案的快取,但它保留了檔案的內容。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git reset filename
git reset filename
git reset filename

這將解除對名為 “filename” 的檔案的快取。

13. git rm

該命令從你的工作目錄中刪除檔案,並對刪除行為進行分級。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git rm filename
git rm filename
git rm filename

這將刪除名為 “filename” 的檔案,並進行分段刪除。

14. git log

該命令顯示一個分支上的提交清單,包括相應的細節。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git log
git log
git log

這將顯示一個最近提交的有序列表。

15. git show

該命令顯示指定提交的後設資料和內容變化。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git show
git show
git show

這將顯示最新提交的後設資料和內容變化。

16. git tag

這條命令用來給指定的提交打上標籤。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git tag v1.0
git tag v1.0
git tag v1.0

這將給最新的提交打上 “v1.0” 的標籤。

17. git fetch

該命令從遠端倉庫獲取本地倉庫中不存在的所有物件。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git fetch origin
git fetch origin
git fetch origin

這將從origin遠端獲取所有不存在於你當前版本庫中的物件。

18. git rebase

該命令用於將當前分支上的修改應用到另一個分支之前。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git rebase master
git rebase master
git rebase master

這將把當前分支上的任何修改應用到主分支之前。

19. git revert

這條命令會建立一個新的提交,撤銷前一個提交所做的修改。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git revert HEAD
git revert HEAD
git revert HEAD

這將建立一個新的提交,撤銷上一次提交的改動。

20. git stash

這個命令可以暫時儲存您不想立即提交的改動。您可以在以後應用這些修改。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git stash
git stash
git stash

這將暫時儲存所有修改過的跟蹤檔案。

21. git stash pop

這條命令恢復了最近藏匿的修改。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git stash pop
git stash pop
git stash pop

這將應用最近藏匿的修改,並將其從藏匿列表中移除。

22. git stash list

這個命令列出了所有藏匿的變更集。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git stash list
git stash list
git stash list

這將顯示所有藏匿的變更集。

23. git stash drop

這條命令會丟棄最近儲存的變更集。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git stash drop
git stash drop
git stash drop

這將丟棄最近藏匿的變更集。

24. git cherry-pick

該命令應用一些現有的提交所帶來的變化。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git cherry-pick commitID
git cherry-pick commitID
git cherry-pick commitID

這將應用給定ID的提交所帶來的變化。

25. git bisect

該命令使用二進位制搜尋演算法來查詢專案歷史中哪個提交引入了一個錯誤。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git bisect start
git bisect bad
git bisect good commitID
git bisect start git bisect bad git bisect good commitID
git bisect start
git bisect bad
git bisect good commitID

這將啟動分支程序,將當前的提交標記為bad,並將給定ID的提交標記為good。

26 git blame

該命令顯示了檔案每一行的最後修改版本和作者。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git blame filename
git blame filename
git blame filename

這將顯示 “filename” 的每一行的最後修改版本和作者。

27. git clean

這個命令會刪除工作目錄中未被追蹤的檔案。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git clean -n
git clean -n
git clean -n

這將顯示將被刪除的檔案,但並沒有實際操作。用 -f 替換 -n 來實際刪除這些檔案。

28. git reflog

該命令顯示了本地倉庫中所有對提交的引用列表。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git reflog
git reflog
git reflog

這將顯示本地倉庫中所有對提交的引用。

29. git grep

這個命令讓你在你的版本庫中搜尋。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git grep "hello"
git grep "hello"
git grep "hello"

這將搜尋版本庫中出現的任何 “hello”。

30. gitk

該命令啟動 Git 倉庫瀏覽器。

示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
gitk
gitk
gitk

這將啟動 Git 倉庫瀏覽器。

小結

總之,Git 是一個強大的工具,可以極大地提高你作為一個開發者的生產力和效率。我們在這篇文章中討論的 30 個基本 Git 命令只是冰山一角。在 Git 中還有更多的命令和選項,我們鼓勵你進一步探索它們。

記住,實踐出真知。你越是使用這些命令,你就會越是得心應手。所以,不要害怕在你的專案中開始使用 Git。一開始可能會讓人望而生畏,但隨著時間的推移和實踐,你會發現它是你開發工具包中的一個寶貴工具。

評論留言