在本文中,我们将学习一些基本且非常重要的 Git 命令来开始使用 git。 本文适用于对 git 没有任何了解或刚刚开始学习 git 的人。
什么是吉特?
Git 是最初由 Linus Torvalds 开发的用于管理其 Linux 项目的首批开源软件之一。 Git 现在是功能最强大、应用最广泛的版本控制系统。 事实上,如果您在软件开发项目中与人合作,它是必备工具之一。
Git 是一个非常有用的软件,有很多命令和选项。 官方 git 文档详细介绍了所有这些命令及其选项,但一如既往,对于不熟悉它的人来说,这可能有点令人生畏。
Git 命令
所以我们先来简单介绍一下 git 中的命令。
1. git clone 命令
任何受版本控制的存储库通常都托管在服务器中。 服务器可以是任何东西,可以是远程计算机、本地主机或云存储服务。 可让您托管存储库的流行的基于云的服务器是 – GitHub、GitLab 和 BitBucket。
要更改/使用服务器中存储库中的内容,您可能需要将这些存储库的内容复制(克隆)到本地计算机中。 Git clone 为你做这件事。
Git 上的浅克隆
git clone 的语法是:
git clone <repository-link>
2. git checkout 命令
在使用 git 时,您需要处理许多包含大量提交的分支。 要移动到每个提交和分支,我们使用 checkout 命令。 您将在本文的后半部分了解有关提交的更多信息。 让我们先了解一个分支。
分支只是软件开发的一条路径。 Git 可以有多个相互独立的分支。
- 这些分支很重要,因为它们允许同时出现软件的不同状态。 可以有一个
main
包含所有测试功能的分支,一个dev
包含最新(和一些未经测试的)功能的分支和stable
其中包含产品的稳定版本。 - 另一种用途是我们可以为每个功能创建一个单独的分支,开发该功能并将其合并回分支。
使用 git checkout 的语法是:
# Go to the already existing branch <branch-name> git checkout <branch-name> # Create a branch from latest commit and got to that branch git checkout -b <branch-name>
注意:Git checkout 命令可以做更多的事情,但超出了当前文章的范围。
3. git 添加命令
Git 能够检测您在存储库内的任何文件中所做的任何更改。 是否要进行这些更改取决于您。 为了暂存在特定文件中所做的更改,我们使用 git add 命令。
使用 git add 命令的语法是:
# To add a single file git add <file.name> # To stage all changes to python files git add *.py # To stage all changes made to all files in the repository git add .
4.git状态命令
当您在存储库中更改/添加多个文件时,上述命令 – git add 可能会变得混乱。 或者有时我们需要查看对未暂存的存储库所做的所有更改。
git status 命令向我们展示了对已经存在的文件所做的未暂存更改,并列出了添加的新文件(未跟踪的文件)。
git status 的语法很简单:
# Show the full status git status # A little compact git status git status -s
5. git commit 命令
Git commit 是 git 中最重要的命令之一。 在我们深入了解命令描述之前,我们需要了解一下提交本身。
git 中的提交是 git 分支中的节点。 提交表示该时间点的软件状态。 提交由唯一的 SHA1 数字表示。 签出提交将存储库设置为提交时的软件状态。
Git commit 命令获取对存储库所做的分阶段更改,并提交到当前分支。
提交不容易阅读,因为它们由 SHA 值表示。 为了解决这个问题,我们可以在提交中添加一条消息,使其更具可读性。
git commit 的语法是:
git commit [-m "<Message>"]
6. git push 命令
现在您已经提交到存储库,您可以使用以下命令查看存储库的状态 git status
. 它可能会向您显示当前分支领先于远程分支多次提交。 为什么会这样?
对当前分支所做的提交将保留在您的本地环境中,除非您决定将这些更改推送到远程。 所以如果你想让你的更改全局化,请记住推送它。
您必须明确提及要推送到的远程和分支。 git commit 的语法是
# The name of the remote is generally origin # Make sure to checkout the correct one before pushing # using git remote -v git push origin <branch>
注意:除非工作目录没有任何未提交的更改,否则 Git 无法推送。
7.git合并命令
我们的最后一个命令是 git merge。 Git merge 比之前的命令更关键也更复杂。
当您想要将更改从一个分支提交到另一个分支时,Git merge 很有用。 这是一个假设的情况:你有两个分支——main 和 feature。 创建功能分支是为了向主分支添加一些功能。
对功能分支进行了一些独立的更改,现在该功能已准备就绪。 与此同时,已经对主分支本身进行了提交。 Git merge 累积对分支所做的更改,并在其顶部进行新的提交。 这是一个视觉表示:
git merge 的语法是:
# The <branch-name> branch is merged into current branch git merge <branch-name>
注意:由于在分支中所做的一些冲突更改,可能会存在一些冲突。 要停止合并过程,您可以使用 git merge --quit
命令。 当您与许多开发人员合作时,您将需要了解有关解决冲突的更多信息。
结论
这将我们带到了文章的结尾。 这些只是帮助您开始使用 git 的初级命令。 如果您有兴趣,可以查看更多关于 rebase 和 stash 等 git 命令的中级文章。 如果您有兴趣阅读更多此类开源工具,请继续关注。