当前位置:首页 > 编程语言 > 正文内容

你应该掌握的30个Git常用命令

a811625539个月前 (05-06)编程语言12

当涉及到软件开发时,是必不可少的。它允许你跟踪你的代码变化,恢复到以前的阶段,并与你的团队在一个项目上进行合作。更流行的版本控制系统之一是。无论你是一个刚刚起步的初学者,还是一个希望简化工作流程的经验丰富的开发者,了解Git命令无疑是一种技能,它将带来回报。

在学会关键步骤之前,Git 给人的感觉就像一个谜。在本指南中,你将看到排名前 30 位的 Git 常用命令,按使用频率排序。每条命令的开头都有一个简短的“作用”摘要,然后是一张显示其功能的图片。没有冗长的文字,没有莫名其妙的标记,也不用翻阅文档。只有实用、小巧的条目,你可以把它当作您的git命令手册使用。让 Git 变得简单、快捷、有趣。

在这篇文章中,我们将深入探讨每个开发者都应该知道的30个Git命令。这些命令将帮助你初始化仓库,进行提交,创建和切换分支,以及更多。掌握了这些常用命令,你就可以成为一个更有效率和效益的开发者了。

最常用的30个Git命令

1. git commit

这个命令用来保存你的修改到本地仓库。它对你用git add暂存的改动做了一个快照。

示例:

git commit -m "Commit message"

这将提交您的修改,并附带一条描述您所做修改的信息。

2. git status

这个命令显示修改的状态,如未跟踪、已修改或已缓存。

示例:

git status

这将显示你工作目录的状态。

3. git add

该命令添加一个文件到暂存区,为提交做准备。

示例:

git add filename

这将把名为 “filename” 的文件添加到暂存区。

4. git push

该命令将你提交的修改发送到远程仓库。

示例:

git push origin master

这将把你提交的修改推送到origin远程仓库的主干分支。

5. git pull

该命令从远程仓库获取修改,并将其合并到你的当前分支。

示例:

git pull origin master

这将从origin远程仓库的主干分支中提取变化。

6. git clone

这个命令用来克隆一个仓库。它在你的本地机器上创建一个远程仓库的副本。

示例:

git clone https://github.com/username/repository.git

这将在你的本地机器上克隆给定URL的版本库。

7. git branch

这个命令列出了你的版本库中的所有分支。

示例:

	
git branch

这将列出你的版本库中的所有分支。

8. git checkout

该命令用于在 Git 仓库的不同分支之间进行切换。

示例:

git checkout branch-name

这将切换到名为 “branch-name” 的分支。

9. git merge

该命令将一个分支的修改合并到另一个分支。

示例:

git merge branch-name

10. git log

该命令显示一个分支上的提交清单,包括相应的细节。

示例:

git log

这将显示一个最近提交的有序列表。

11. git diff

该命令显示尚未分阶段的文件差异。

示例:

git diff

这将显示自上次提交以来未被缓存的差异。

12. git stash

这个命令可以暂时保存您不想立即提交的改动。您可以在以后应用这些修改。

示例:

git stash

这将暂时保存所有修改过的跟踪文件。

13. git init

这个命令用来初始化一个新的Git仓库。它在你当前的工作目录下创建一个新的.git子目录。这也将创建一个名为master的新分支。

示例:

git init

这将在你的当前目录下初始化一个 Git 仓库。

14. git fetch

该命令从远程仓库获取本地仓库中不存在的所有对象。

示例:

git fetch origin

这将从origin远程获取所有不存在于你当前版本库中的对象。

15. git reset

该命令解除了文件的缓存,但它保留了文件的内容。

示例:

git reset filename

这将解除对名为 “filename” 的文件的缓存。

16. git revert

这条命令会创建一个新的提交,撤销前一个提交所做的修改。

示例:

git revert HEAD

这将创建一个新的提交,撤销上一次提交的改动。

17. git rebase

该命令用于将当前分支上的修改应用到另一个分支之前。

示例:

git rebase master

这将把当前分支上的任何修改应用到主分支之前。

18. git show

该命令显示指定提交的元数据和内容变化。

示例:

git show

这将显示最新提交的元数据和内容变化。

19. git cherry-pick

该命令应用一些现有的提交所带来的变化。

示例:

git cherry-pick commitID

这将应用给定ID的提交所带来的变化。

20. git bisect

该命令使用二进制搜索算法来查找项目历史中哪个提交引入了一个错误。

示例:

git bisect start
git bisect bad
git bisect good commitID

这将启动分支进程,将当前的提交标记为bad,并将给定ID的提交标记为good。

21. git rm

该命令从你的工作目录中删除文件,并对删除行为进行分级。

示例:

git rm filename

这将删除名为 “filename” 的文件,并进行分段删除。

22. git tag

这条命令用来给指定的提交打上标签。

示例:

git tag v1.0

这将给最新的提交打上 “v1.0” 的标签。

23. git stash pop

这条命令恢复了最近藏匿的修改。

示例:

git stash pop

这将应用最近藏匿的修改,并将其从藏匿列表中移除。

24. git stash list

这个命令列出了所有藏匿的变更集。

示例:

git stash list

这将显示所有藏匿的变更集。

25. git stash drop

这条命令会丢弃最近存储的变更集。

示例:

git stash drop

这将丢弃最近藏匿的变更集。

26. git blame

该命令显示了文件每一行的最后修改版本和作者。

示例:

git blame filename

这将显示 “filename” 的每一行的最后修改版本和作者。

27. git clean

这个命令会删除工作目录中未被追踪的文件。

示例:

git clean -n

这将显示将被删除的文件,但并没有实际操作。用 -f 替换 -n 来实际删除这些文件。

28. git reflog

该命令显示了本地仓库中所有对提交的引用列表。

示例:

git reflog

这将显示本地仓库中所有对提交的引用。

29. git grep

这个命令让你在你的版本库中搜索。

示例:

git grep "hello"

这将搜索版本库中出现的任何 “hello”。

30. gitk

该命令启动 Git 仓库浏览器。

示例:

gitk

这将启动 Git 仓库浏览器。

更佳实践

以下是一些使用 git 命令的注意事项:

  • 保持少量提交:将每次提交集中在一个改动上,并编写清晰的信息。
  • 使用分支:在自己的分支上完成功能工作,然后通过拉取请求进行合并。
  • 先存储再切换:先存储 WIP 变动,避免半成品提交。
  • 本地重置:在共享前清理分支历史,但切勿对共享分支进行重置。
  • 用 diff/log 查看:推送前一定要查看 git diff 和 git log。

小结

总之,Git 是一个强大的工具,可以极大地提高你作为一个开发者的生产力和效率。我们在这篇文章中讨论的 30 个基本 Git 命令只是冰山一角。在 Git 中还有更多的命令和选项,我们鼓励你进一步探索它们。

记住,实践出真知。你越是使用这些命令,你就会越是得心应手。所以,不要害怕在你的项目中开始使用 Git。一开始可能会让人望而生畏,但随着时间的推移和实践,你会发现它是你开发工具包中的一个宝贵工具。

常见问题

如何在提交前撤销对文件的修改?

使用 git checkout – <file> 放弃未暂存的编辑,恢复上次提交的版本。

将多个提交合并为一个提交的最简单 *** 是什么?

运行 git rebase -i <base>,把要合并的提交合并成一个整洁的提交。

如何暂停工作,稍后再回来而不提交半成品代码?

使用 git stash 将改动保存起来,准备好后使用 git stash pop 重新应用。

git fetch 和 git pull 有什么区别?

Git fetch 会从远程下载更新,而不会触及您的文件,而 git pull 则一步完成下载和合并。这两个 git 命令看似功能相似,但它们的应用却大相径庭。

如何追踪引入 bug 的提交?

使用 git bisect 对历史记录进行二进制搜索,准确找出错误提交。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8300.html

分享给朋友:

“你应该掌握的30个Git常用命令” 的相关文章

PHP 8.1有哪些变化:新特性、改变及弃用等

PHP 8.1有哪些变化:新特性、改变及弃用等

不久前,PHP 8.0大张旗鼓地发布了。它带来了许多新特性、性能增强和变化——其中最令人兴奋的是新的JIT编译器。 技术世界总是在向前发展,PHP也是如此。 ,包含了几个令人兴奋的特性。它定于今年晚些时候于2021年11月25日发布。 在本文中,我们将详细介绍PHP 8.1将带来哪些新的东...

宝塔面板教程之主界面管理篇

宝塔面板教程之主界面管理篇

本章节主要是对宝塔面板的主界面的各个版本进行一个简单的说明。 宝塔面板主界面主要包括:服务器操作系统、服务器状态、站点信息、软件管理及网络流量几个部分。 Windows面板有部分功能未实现,其余部分与Linux面板同步。 系统操作...

宝塔面板教程之监控管理篇

宝塔面板教程之监控管理篇

宝塔面板另外一个特质是,你无需通过Linux命令行来查看服务器各项指标状况,即可以阿里云服务器类似的可视化图表,查看资源使用、负载、CPU占用及内容使用百分比等指标。 默认监控是关闭,有需要的,可以开启,监控数据默认保存30天,可以自行修改,默认监控数据保存在日志,可手动清理该日志。 监控管理,...

宝塔面板教程之安全管理篇

宝塔面板教程之安全管理篇

宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...

宝塔面板教程之面板设置篇

宝塔面板教程之面板设置篇

宝塔面板设置主要涉及的是宝塔控制后台自身的参数,包括诸如面板的开关、自动更新及SSL、面板端口设置等。虽然这部分不涉及服务器自身的管理,但对宝塔面板的设置也有其重要。 特别是面板端口、安全入口及面板密码等涉及安全的参数设置。 启动和关闭面板 如果你长时间无需使用到宝塔面板,可以考虑...

如何成为一名出色的Java开发人员

如何成为一名出色的Java开发人员

美国劳工统计局估计在美有超过软件开发人员。根据2021年的数据,其中,这是世界上使用最广泛的五种编程语言之一。 自然,学习Java并成为Java开发人员对于任何对软件开发感兴趣的人来说都是明智的职业选择。 在本综合指南中,您将学习成为Java开发人员所需的一切知识。我们将分解您需要的技能、工...