每个初学者都应该掌握的 10 个必知的 Git 和开发技巧

如果您刚刚开始从事 Web 或软件开发,您很可能听说过 **Git**。但它是什么?它如何帮助您成为一名开发人员?

Git 是一个版本控制系统,它就像是你代码的时光机。想象一下,你正在写一篇文章,每次修改后,你都会保存一份新副本。现在,你不用再让数十个版本的论文在你的电脑里堆满,Git 可以让你跟踪更改、返回早期版本并与其他人合作完成同一个项目,同时保持一切井然有序。

但是 Git 可能很难掌握,特别是如果你是编程新手的话。在这篇博文中,我将介绍 10 个必不可少的 Git 和开发技巧,让你的生活更轻松。无论你是在建立自己的第一个网站还是在进行团队项目,这些技巧都将有助于让事情变得易于管理、避免常见错误并提高工作效率。

Git 是什么?为何你需要关心它?

在开始介绍技巧之前,我们先花点时间谈谈 Git 到底是什么。从本质上讲,Git 是一个版本控制系统。它允许开发人员跟踪代码中的更改,与其他人一起编写和协作代码,并且它具有易于使用的恢复功能(即,如果您完全搞砸了某个项目,您可以返回到项目的早期版本)。基本上,作为开发人员,您使用 Git 是因为它使编码更容易(并且不那么可怕),尤其是当其他人依赖您的代码时。

想象一下,你正在与一些朋友一起处理一个文档。你做了一些更改,他们也做了一些更改。突然间,你会想,天哪,这个文档的哪个版本才是正确的?!Git 基本上不会让这种情况发生在你的代码上。它会准确记住文档在每个时间点的样子,所以无论有多少人同时试图“改进”它,它总是可以重新创建每个版本。

1. 尽早承诺,经常承诺

Git 中最重要的规则之一是定期提交代码,提交就像是项目在某一时间点的快照。

为什么?:通过经常提交,您将拥有所有更改的完整历史记录。如果出现问题,您可以轻松恢复。

如何提交?:不要每天提交 1,000 多行废话,而是在完成每项小任务后提交。

**例子:**

举个例子,当你保存正在写的论文的草稿时,你不想丢失经过数小时所做的所有工作。

2. 为新功能创建单独的分支

Git 允许您创建**分支**并同时处理不同的事情。如果您想处理或尝试某件事,但不确定代码是否运行良好以将其添加到项目中,请将其放入分支中。

为什么?:当您开发新功能或修复错误时,这很有用。您可以将您的工作与主代码分开,直到准备好添加为止。

如何?:为您处理的每个功能创建一个新分支,完成后,您可以将其合并回主项目。

**例子:**

这就像复制你的文章来尝试你想做的新事物,一旦结果良好,你就可以将其转移到你的最终草稿中。

3.使用 Git Stash 保存未完成的工作

有时你正在做某件事,需要切换上下文。但是,你不想提交半途而废的工作。该怎么办?`git stash`

为什么?:stash 用于获取代码的当前状态并将其保存起来以供以后使用,而无需提交。这样的想法是,一旦您准备完成,您就可以返回到此代码状态。

怎么做?:运行 git stash ,这将暂时消除你的更改,然后在你准备好时运行“git stash pop”

**例子:**

您正在写一段文字,但想抽出一些时间来帮助别人写论文。您可以“存储”您正在写的内容,然后稍后再回来继续。

4. 理解 Merge 与 Rebase

在使用 Git 时,你会遇到需要合并两个不同分支的代码的情况。在 Git 中有两种方法可以做到这一点:合并和变基。

合并:将两个分支合并在一起并进行合并提交。这就像合并论文的两个版本并记录合并的位置。

Rebase:这将把更改从一个分支重播到另一个分支,从而产生更清晰的历史记录而无需额外的合并。

**提示**:当您认为您的更改已准备好合并时,请使用合并,但如果您想在将更改推送到中央存储库或与合作者共享之前清理历史记录,请使用变基。

5. 避免不小心使用 git add

当您准备提交更改时,使用命令“git add .”并将所有内容添加到提交中非常诱人。我建议不要这样做,因为这实际上可能很危险,特别是当您不确定那里发生了什么变化时。

为什么?:很容易意外地包含你不想提交的文件。例如配置文件或临时文件。

怎么做?:而是使用“git add` 添加特定文件或使用 `git add -p` 在添加之前检查每个更改。

**例子:**

这就像你在实际添加它之前逐一检查每个段落以确保它足够好以适合你的最终论文。

6. 使用 .gitignore 保持你的仓库干净

使用 Git 时,经常会有一些你永远不想提交的文件。这些文件可能是日志文件、临时文件或环境设置。你可以使用 `.gitignore` 告诉 Git 忽略这些类型的文件

为什么?:它可以帮助您保持存储库清洁并避免添加不必要的文件。

如何操作?:您可以在 .gitignore 文件中指定文件名或模式(如 node_modules/ 或 .env),当您将文件添加到提交时,Git 将忽略这些文件。

**例子:**

它就像是一个待办事项清单,其中列出了你不应该放入最终草稿中的事情。

7.使用 Git 别名来加速你的工作流程

一遍又一遍地输入较长的 Git 命令可能非常耗时。这时 Git 别名可以帮你省事。简而言之,借助别名,你可以创建较短的命令来执行较长的命令。

为什么?:为了节省时间,并且不要重复自己。

如何操作?:例如,你可以创建一个像“git co”这样的别名,而不是输入“git checkout”,从而避免输入 2 个额外字符的麻烦!

提示:为您经常使用的命令创建一个别名,例如 git status、git commit 或 git branch。

  • 打开你的终端。
  • 运行以下命令:
  • git config --global alias.st 状态

    现在,您无需输入 git status,只需输入 git st 即可。

    git config --global alias.ci 提交

    这会使 git ci 执行 git commit。

    git config --global alias.co 签出

    现在,git co 将取代 git checkout。

    **检查您的别名**:要验证您的别名是否已设置,请运行:

    git config --global -l

    这将列出您的所有全局 Git 配置,包括您的别名。

    **使用你的别名**:设置后,开始使用较短的命令,如 git st、git ci 或 git co,而不是输入完整的命令。

    例子:

    如果你经常在分支之间切换,并且想加快速度,可以创建一个 git br

    git config --global alias.br 分支

    现在,输入 git br 将列出您的所有分支。

    提示:您可以创建更复杂的别名,例如组合多个命令,以提高效率!

    8. 先拉后推

    在将更改推送到共享存储库之前,您应该做的第一件事是提取最新更改。这可确保您的代码是最新的,并有助于防止与他人的工作发生冲突。

    为什么?:如果在拉取之前先推送,可能会覆盖其他人的工作或产生合并冲突。

    如何操作?:使用 `git pull --rebase` 来提取更改,然后将你的工作应用到上面。

    **例子:**

    这就像在开始撰写一篇集体论文之前,确保它是最新版本,然后才开始你的部分。

    9.使用 Git Hooks 自动执行重复任务

    Git 钩子是 Git 存储库中发生特定事件时自动运行的脚本。例如,您可以使用钩子脚本在提交之前自动运行测试套件。

    为什么?因为它可以节省你的时间并确保你在提交之前执行诸如测试或格式化代码之类的操作。

    如何:git 有一个在项目的“git/hooks/”中创建钩子的选项,当你克隆一个存储库时,其中应该有一些示例脚本。

    **例子:**

    想象一下,如果你每次保存论文时都会弹出一个提醒,提醒你仔细检查拼写错误。Git hooks 可以为你的代码做类似的事情。

    10. 标记项目的重要版本

    当你从事一个长期项目时,能够标记某些历史点比其他点更重要或更有意义是件好事。这就是标签的作用!

    为什么?:标签用于标记 Git 历史记录中的特定点。通常建议为软件发布创建标签。

    如何?:`git tag v1.0.0` 在指定的提交处创建标签引用,然后`git push origin v1.0.0` 将标签引用发送到远程存储库。

    **例子:**

    这就像在提交论文进行审核之前对其最终版本进行标记。

    结论:让初学者轻松掌握 Git

    那么,你是如何找到这 10 个必不可少的 git 和开发技巧来让你的工作流程更顺畅、代码更清晰、项目管理更简单的?你可以亲眼看到,无论你是独自完成项目还是团队合作,它都能让你避免许多可能的陷阱,并提高你的工作效率。

    请记住,Git 是您的安全网。它可以帮助您跟踪您正在做的事情、与他人合作以及尝试新事物,而不必担心丢失以前的工作。事实上,一旦您开始真正掌握我即将给您的这些技巧,Git 就会从那种在您忘记推送之前拉取时困扰您的工具,变成您开发武器库中最受欢迎的武器之一。

    我希望这篇文章能让你使用 Git 时不那么不舒服!如果你觉得这篇文章没有提到你最喜欢的 Git 命令或开发技巧,请在下面的评论中告诉我们,帮助我们一起学习