每个开发人员必须知道的 10 个 Git 命令

2025-06-07

每个开发人员必须知道的 10 个 Git 命令

了解 Git 和 GitHub 对任何开发者来说都至关重要,它们能够提供有效的版本控制和代码管理。熟练掌握这些工具能让你脱颖而出,并提升你的工作效率。在本篇博文中,我们将探索一组 Git 命令,助你开启软件开发之旅。

Git 词汇

在深入研究命令之前,我们先来熟悉一些 Git 术语。这些理解不仅能帮助你更好地掌握 Git,还能为你的整体理解打下基础。

存储库

存储库或 repo 用作存储空间,用于存储项目的源代码及其版本历史记录。

工作目录

工作目录是您当前对项目进行更改的地方,其中包含您正在处理的文件。

分期

暂存区是仓库和工作目录之间的中间区域。您可以在此添加更改,然后再将其提交到主仓库。

犯罪

提交是阶段提议更改的快照,由唯一标识符(SHA-1 哈希)标识并附有提交消息。

分支

分支代表存储库的并行版本,可独立促进不同功能或错误修复的工作。

合并

合并涉及将建议的更改合并到主存储库中,通常用于将新功能集成到主项目中。

拉取是指从任何远程存储库获取代码并将其合并到本地存储库(即工作目录)中。

推送涉及将本地更改发送到任何存储库的任何远程分支。

克隆

克隆是创建主存储库的本地副本的过程,建立连接以实现高效的拉取和推送。

拿来

提取操作会将任何远程仓库的更改下载到本地仓库,而不会直接将其合并到本地仓库。此功能有助于在合并之前检查更改。

分叉会在您的 GitHub 帐户上创建其他人存储库的个人副本,从而无需影响原始存储库即可进行更改。

冲突

当两个或多个分支的同一部分代码发生变化,而 Git 无法直接合并它们时,就会发生冲突。

在 Git 中,HEAD 是一个指针/引用,始终指向当前分支中的最新提交。当你进行新的提交时,HEAD 会移动到该提交的顶部。
 

现在,让我们逐一探索这 10 个 Git 命令。

开始模因

1 - 添加并提交文件

传统上,在 Git 中,我们使用git add *命令暂存所有修改过的文件,以便后续提交。随后,我们使用git commit -m "commitMessage"命令提交这些更改。但是,有一个更精简的命令,只需一步即可完成这两个任务:



git commit -am "commitMessage"


Enter fullscreen mode Exit fullscreen mode

-am标志允许我们暂存这些更改并通过一次有效的操作提交它们。

2 - 创建并切换到 Git 分支

与上一个场景类似,另一个命令结合了两个命令的功能。无需使用单独的命令,而是使用以下命令git branch branchName创建分支并git checkout branchName切换到该分支。使用以下命令一步完成这两项任务:



git checkout -b branchName


Enter fullscreen mode Exit fullscreen mode

-b带有命令的标志允许git checkout我们创建一个新分支并立即切换到它。

3 - 删除 Git 分支

要在 Git 中删除分支,请使用git branch -dgit branch -D命令。-d选项用于安全删除,仅当分支完全合并到当前分支时才删除该分支。-D选项用于强制删除,无论分支是否完全合并。 命令如下:

安全删除(检查合并):



git branch -d branchName


Enter fullscreen mode Exit fullscreen mode

强制删除(不检查合并):



git branch -D branchName


Enter fullscreen mode Exit fullscreen mode

4 - 重命名 Git 分支

要重命名分支,请使用git branch -m命令,后跟当前分支名称和新的所需分支名称。例如,要重命名名为oldBranchto 的分支newBranch,请运行:



git branch -m oldBranch newBranch


Enter fullscreen mode Exit fullscreen mode

如果要重命名当前工作的分支,而不指定旧名称,请使用以下命令:



git branch -m newBranchName


Enter fullscreen mode Exit fullscreen mode

这里,您不需要指定旧的分支名称,因为 Git 会假定您想要将当前分支重命名为新名称。

5 - 取消暂存特定文件

有时,你可能希望从暂存区移除某个文件,以便在提交之前进行其他修改。使用:



git reset filename


Enter fullscreen mode Exit fullscreen mode

这将取消暂存该文件,同时保持您的更改不变。

6 - 放弃对特定文件的更改

要完全放弃对特定文件所做的更改并将其恢复到上次提交的状态,请使用:



git checkout -- filename


Enter fullscreen mode Exit fullscreen mode

此命令可确保文件恢复到其先前状态,并撤消最近的修改。这是一种在不影响其他更改的情况下重新开始特定文件的有效方法。

7 - 更新你的最后一个 Git 提交

假设你刚刚在 Git 仓库中提交了一次,但后来你意识到你忘记在提交中包含一项更改,或者你想修复提交消息本身。你不想为这个小更改创建一个全新的提交,而是想将其添加到之前的提交中。这时你可以使用以下命令:



git commit --amend -m 'message'


Enter fullscreen mode Exit fullscreen mode

此命令修改您所做的最新提交,将任何暂存的更改与您的新评论相结合以创建更新的提交。

需要记住的是,如果您已经将提交推送到远程仓库,则需要使用 强制推送git push --force来更新远程分支。标准git push操作是将新的提交附加到远程仓库,而不是修改上一次提交。

8 - 存储更改

假设您正在两个不同的分支 A 和 B 上工作。在分支 A 中进行更改时,您的团队要求您修复分支 B 中的错误。当您尝试使用 切换到分支 B 时git checkout B,Git 会阻止您,并显示错误:

无法更改分支

我们可以按照错误信息的建议提交更改。但是提交

更像是一个固定的时间点,而不是一个正在进行的工作。这时,我们可以应用错误消息的第二个建议,并使用存储功能。使用以下命令存储您的更改:



git stash


Enter fullscreen mode Exit fullscreen mode

git stash暂时保存您尚未准备好提交的更改,允许您切换分支或执行其他任务而无需提交未完成的工作。

要重新应用分支中存储的更改,请使用git stash applygit stash pop。这两个命令都会恢复最新的存储更改。应用存储只会恢复更改,而弹出存储则会恢复更改并将其从存储中移除。您可以在此处阅读更多有关存储的信息。

9 - 恢复 Git 提交

假设您正在处理一个 Git 项目,发现某个提交引入了一些不必要的更改。您需要撤消这些更改,并且不从历史记录中删除该提交。请使用以下命令撤消该提交:



git revert commitHash


Enter fullscreen mode Exit fullscreen mode

这是一种安全且无损的方法来纠正项目中的错误或不必要的更改。

例如,假设您有一系列提交:

  • 提交A
  • 提交 B(此处引入了不良更改)
  • 提交 C
  • 提交 D

要撤销提交 B 的效果,请运行:



git revert commitHashOfB


Enter fullscreen mode Exit fullscreen mode

Git 将创建一个新的提交,我们称之为提交 E,它将否定提交 B 引入的更改。提交 E 将成为分支中的最新提交,并且项目现在反映的是提交 B 从未发生过的状态。

如果您想知道如何检索提交哈希,使用 很简单git reflog。在下面的屏幕截图中,突出显示的部分代表您可以轻松复制的提交哈希:

提交哈希

10 - 重置 Git 提交

假设你已对项目进行了一次提交。然而,检查后,你意识到需要调整或完全撤消上次提交。针对这种情况,Git 提供了以下强大的命令:

软复位



git reset --soft HEAD^


Enter fullscreen mode Exit fullscreen mode

使用 时git reset --soft HEAD^,您正在执行软重置。此命令允许您回溯到上次提交,同时保留暂存区中的所有更改。简而言之,使用此命令,您可以轻松取消提交,同时保留代码更改。当您需要修改上次提交,例如在再次提交之前添加更多更改时,它非常方便。

混合复位



git reset --mixed HEAD^


Enter fullscreen mode Exit fullscreen mode

git reset HEAD^这是在未指定--soft或 的情况下使用 的默认行为--hard。它会取消提交最后一次提交,并从暂存区中删除其更改。但是,它会将这些更改保留在工作目录中。当您想取消提交最后一次提交并从头开始进行更改,同时在重新提交之前将这些更改保留在工作目录中时,这很有用。

硬重置



git reset --hard HEAD^


Enter fullscreen mode Exit fullscreen mode

现在,我们来谈谈git reset --hard HEAD^。它会彻底删除 Git 历史记录中的最后一个提交以及所有相关更改。使用--hardflag 后,将无法恢复。因此,当您想要永久丢弃最后一个提交及其所有更改时,请务必谨慎使用此功能。

感谢您的阅读。希望这篇文章对您有所帮助,并让您学到一些新命令。如果您还有其他问题,请随时联系我们。欢迎分享您在日常工作中常用且觉得非常实用的 Git 命令。:)

与我联系
LinkedIn
X(以前称为 Twitter)

文章来源:https://dev.to/mukeshkuiry/10-must-know-git-commands-for-software-engineers-3733
PREV
12 个免费且有趣的 API,你必须在你的业余项目中使用
NEXT
“你好,世界!”但有 30 种不同的语言版本!!!11. Lua