你应该掌握的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。一开始可能会让人望而生畏,但随着时间的推移和实践,你会发现它是你开发工具包中的一个宝贵工具。

评论留言