你应该知道的前 30 个 Git 命令

已发表: 2020-04-28

如果您是专业软件开发团队的一员,您就会知道编写代码时的工作原理。 通常有不同的团队编写代码——开发环境可能有一个开发人员团队,他们坐在同一个地方,与一个在全球其他地方远程与他们合作的团队密切合作。

这两个团队都编写代码并为中央代码库做出贡献。 这就是版本控制系统或 VCS 发挥作用的地方。 他们管理从不同来源收集代码的代码库。

目录

什么是版本控制系统?

版本控制系统是产品所有阶段和版本的贡献和管理的单一参考点,它无需拥有多个文件或文件夹即可完成这项工作。 VCS 解决了通常在开发阶段出现的问题,并通过不让开发人员交换文件或文件夹来简化整个过程。

相反,开发人员有一个他们需要与之通信的单一来源。 正是这个源代码看到了代码中的所有变化。 所有文件都保存在此位置。 我们有两种类型的 VCS,开发人员可以根据自己的需要在世界各地使用。 这些 VCS 是

集中式版本控制系统:这些 VCS 使用项目或代码库所在的集中式存储库。 这个集中式项目由团队开发人员贡献的所有文件组成。 如果任何开发人员想要对项目或存储在其中的文件进行更改,他们需要访问才能进入此存储库。

分布式版本控制系统:在这些 VCS 中,事情比集中式版本要灵活得多。 Mercurial 和 Git 是分布式 VCS 最常见的示例。 在这个系统中,每个开发人员都有自己的本地存储库,其中不仅包含他们编写的代码和他们在一段时间内对其所做的更改,还包含他们的版本以及其他开发人员的版本。

什么是 git?

简单来说,git 是一个免费的分布式版本控制系统。 它是一个开源 VCS,可以比同类产品更快、更高效地处理小型和大型项目。 它是所有可用的分布式版本控制系统中最受青睐的。

git 是如何工作的?

Git 的工作方式与大多数其他版本控制系统不同。 与其他计算文件差异并将这些差异相加得出保存版本的 VCS 不同,git 使用文件系统的快照来完成这项工作。 每当您提交对文件的更改或保存项目的更改状态时,您都会让 git 拍摄系统快照,然后将其保存为参考。

未进行任何更改的文件会将其先前的快照存储为参考。 Git 为开发人员提供了一系列命令来帮助他们执行不同的任务。 我们将讨论开源开发人员最常用的30 个 git 命令

阅读:前 30 个 Git 面试问题和答案

Git 状态

当您使用 git 时,您的文件将处于这三种状态中的任何一种——修改、暂存或提交。 让我们讨论一下这些状态的实际含义。

当您在本地存储库中对文件进行更改时,您的文件处于修改状态; 但是,这些仍然没有被存储。 在暂存状态下,您对文件所做的更改将被保存。 最后,在提交状态下,修改和保存的文件存储在您的项目或代码库中。

现在,您需要彻底了解 git 的一些非常重要的内容。 您可以使用 git 运行两种类型的存储库。 您正在使用的笔记本电脑或台式机具有本地存储库,也称为工作目录。 然后在云上存在一个远程存储库。

所以问题是如何在 git 中使用这两种存储库类型? 本地存储库具有所有必要的功能,但只能在您的台式机或笔记本电脑上使用。 当您必须与团队中的其他人共享文件时,您需要做什么? 使用 Gitlab 或 GitHub 创建代码的远程存储库。

然后,您可以简单地使用该存储库来上传您的文件或代码。 现在每个有权访问您的存储库的人都可以将文件下载到他们的本地笔记本电脑或台式机并做出贡献。

Git 命令

我们将在本节中讨论的所有这些命令在使开发人员的软件开发过程变得更容易方面发挥着重要作用。 我们将提到这些命令中最有用的。

1.配置详细信息:这可用于配置您的个人资料。 为此目的使用 git config 命令。 您可以使用此命令设置您的姓名和电子邮件 ID。 您可以在两个基础上配置这些详细信息 - 项目或全局。 对 locl 存储库使用以下命令。

git config user.name “Bill Tench”

git config user.email [email protected]

使用 global config 命令进行全局设置

git config — 全局用户名“Bill Tench”

git config — 全局 user.email “[email protected]

2. 初始化存储库:存储库是项目的一种目录。 它有很多信息,包括源文件、标签、头、子目录和其他东西。 使用 git init 命令初始化存储库。 此命令是所有其他命令中最常用的命令之一。 初始化存储库后,您可以开始向其中添加文件并开始修改它们。

3. 添加文件: Git 使添加文件成为一项非常重要的任务。 使用 git 添加命令将所有修改的文件或目录添加到存储库。 让我们看看它是如何工作的。

git 添加文件

该命令将拥有工作目录中的所有文件并将其添加到存储库中。 您可以使用此命令添加特定文件。 现在如果你想添加 PHP 文件,你可以使用下面提到的命令。

混帐添加 *.php

这些文件将被标记为暂存。

4.验证添加的文件:最近添加的文件可以通过git status命令进行验证。 您可以使用此命令查看新文件或已修改的文件。 您可以运行 git status 命令来查看详细信息。 使用此命令后,您将在下一次提交中看到所有为暂存状态设置的文件。

5. 提交存储库更改:如前所述,每次提交更改时,都会拍摄代码库的快照。 这就是 git 跟踪更改并提供版本控制的方式。 用于此功能的命令是 git commit。

运行此命令后,系统会要求您提供一些信息。 它可以像添加一个小细节一样。 将调用安装期间设置的默认 Linux 编辑器。 使用 git commit –m “First Commit” 命令阻止他的轻率行为发生。

6. 显示日志:如果要查看对存储库进行了哪些更改,则需要查看日志。 使用 git log 命令来完成这项工作。 这将显示有关您所做提交的一般信息。 使用 git log –file 命令查看您对特定文件所做的更改。 您也可以使用其他选项来检查日志以获取其他详细信息。

7. 验证 git 分支:分支显示项目中的独立开发阶段。 要查看当前分支,可以使用 git branch 命令。 使用此命令,您将能够看到您当前正在处理的分支。 活动分支将在输出中带有星号,以将其与其他分支区分开来。

8.重置分支:将你当前所在的工作目录或存储库重置为不同的状态是非常好的。 您可以使用 git reset 命令来执行此功能。 您可以使用以下命令对当前分支执行软或硬重置:

git 重置-软

git 重置 – 硬

9. 添加新分支:如果您想独立开发新功能,您可以添加新分支以简化工作。 为此使用 git branch 命令。 添加分支名称以进行标识。

git 分支功能工作

要确保分支添加成功,请再次使用 git branch 命令。 如果添加成功,它将显示名为 feature-work 的新分支。 您需要记住,您只能添加一个具有相同名称的新分支。 如果这样做,将导致致命错误。 所以尝试使用不同的名称来添加新的分支。

10. 分支间切换:你可以使用git checkout命令来随你的项目在不同分支间切换。 在软件开发过程中,开发人员也经常使用此命令。 这是一个例子

git checkout 功能工作

使用此命令,您将收到切换成功的通知。 为确保切换确实发生,请使用我们之前讨论过的 git branch 命令。

11. 显示版本:使用 git –version 命令查看你机器上安装的 git 版本。

12. 查阅手册页:使用 man git 和 man git commit 命令查看子命令的手册。

13、管理git配置:可以使用git config命令来设置、替换或查询不同的配置选项。

14. 总结日志信息:为此使用 git shortlog 命令。

15.查看每次提交的修改:您可以使用 git what changed 命令查看每次提交给您的项目带来的更改。

16. 验证对象数据库:使用 git fsck 命令在对象数据库中查找错误或丢失的对象。

17. 列出解压对象:使用 count-objects 命令显示解压对象的总数以及它们占用的磁盘空间。

18. 打包尚未打包的对象:您可以为此目的使用 git repack 命令。

19、管理工作树:使用git worktree命令分别显示工作树、移除工作树、添加工作树、修剪工作树。

20. 查找模式:使用 git grep 命令通过查找存储库中的特定模式来简化开发。

21. 显示远程仓库:使用 git remote 命令来执行这个功能

22. 推送更新:你可以使用 git push 命令将你的更新添加到远程仓库。

23. 拉取新的更新:您可以使用 git pull 命令将其他开发人员所做的修改更新到您项目的本地版本。

24. 克隆存储库:使用 git clone <Git : URL> 命令执行此功能。

25. Stash 工作目录:你可以使用 git stash 命令来达到这个目的。

26. 恢复现有提交:使用 git revert 命令恢复不再有用的命令。

27、合并两个分支:用git merge命令将两个开发分支合并成一个统一的分支。

28.检查文件、提交和tress之间的差异:您可以使用git diff命令来执行此功能。

29. 给项目添加标签:使用 git tag 命令标记项目中的重要事件。

30. 获取远程数据:使用 git fetch origin 命令来执行这个功能。

另请阅读顶级全栈开发人员工具

结论

如果您有兴趣了解有关 Github 命令、全栈软件的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为工作专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

为未来的职业做准备

行业值得信赖的学习 - 行业认可的认证。
现在申请@升级