Git是开发人员日常工作中最重要的部分之一。 因此,对于新手开发人员来说,学习Git是必须的。 在本文中,您将学习八个最重要的基本Git命令。
下面,我列出了所有八个命令。 然后,我们一一看一下。
1.git init
git init命令(本地)初始化全新的Git存储库,并开始跟踪现有目录。
当您按下git init命令时,git在现有目录中添加一个子文件夹,该子文件夹管理用于版本控制的所有必需文件。
HP@Gaurav MINGW64 /e/example
$ git init
Initialized empty Git repository in E:/example/.git/
HP@Gaurav MINGW64 /e/example (master)
$
您正在点击git init意味着您想要将当前目录初始化为Git存储库。
以下GIF显示了初始化一个新的存储库和一个隐藏的子文件夹,其中包含版本控制所需的所有数据结构。
2.git clone
git clone创建一个已经远程存在的存储库的本地副本。 本地副本是远程存储库的精确副本,它包含相同的文件、历史记录和分支。
您可以从GitHub、BitBucket、GitLab和其他Git托管平台等平台clone任何公共存储库。
3.git add
git add分阶段进行更改。
如果您完成了代码中的更改,则有必要对这些更改进行阶段处理,并对其进行快照保存,以将其包括在存储库的历史记录中。
git add第一步,它执行一个更改。
$ git add <path-of-the-file-you-made-changes-in>
如果在多个文件中进行了更改,并且要在同一命令中暂存所有文件,则请添加所有文件的文件路径,并用单个空格分隔。
$ git add <first-filepath-you-want-to-stage> <second-filepath-you-want-to-stage> <nth-filepath-you-want-to-stage>
如果您要暂存所有文件,请在git add之后写“.”(点)
$ git add .
任何分阶段进行的更改都将成为下一个快照的一部分,也将成为存储库历史的一部分。
您还可以在单个命令中设置和捕获当前更改的快照,但不建议这样做。
首先分阶段进行更改,然后进行快照,可以完全控制存储库的历史记录。
以下GIF显示了git add命令:
4.git commit
git commit将快照保存到存储库的历史记录中。
git add会执行第一步,即暂存更改,而git commit会执行最后一步,即将快照保存到存储库的历史记录中。 在Git中,这两个步骤完成了变更跟踪过程。
$ git commit -m "<meaningful-git-commit-message>
建议编写一个提交说明,尽量简单。
如果要向项目commit新特性,则应为“添加<功能名称>功能”。
以下GIF显示了git commit命令:
这是编写提交说明的简单方法,但是还有一种更深入的方法来编写带有标题和描述的。
5.git status
git status将更改的状态显示为未跟踪、已修改或暂存更改的状态。
以下GIF显示了git status命令:
6.git branch
git branch列出本地存储库中的现有 branch。 当前 branch将以绿色突出显示并标有星号。
HP@Gaurav MINGW64 /e/directory/example (master)
$ git branch
* master
new_branch
HP@Gaurav MINGW64 /e/directory/example (master)
$
以下GIF显示了git branch命令:
7.git pull
git pull使用其远程对应项(即远程存储库)的更新来更新本地存储库。
HP@Gaurav MINGW64 /e/directory/example (master)
$ git pull
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/gauravkukade/example
15e8755..d7aefb1 master -> origin/master
Updating 15e8755..d7aefb1
Fast-forward
new-file-added-to-remote-repository.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 new-file-added-to-remote-repository.txt
HP@Gaurav MINGW64 /e/directory/example (master)
$
如果您的队友已经将commit提交到远程branch了,并且您想在本地环境中反映这些更改,那么您需要点击git pull命令。
与本地环境相比,此命令将检查远程分支上是否有任何更新,如果是,那么它将使用这些更改来更新本地环境。 如果没有,那么可以什么都不做。
以下GIF显示了git pull命令:
8.git push
git push使用本地对branch的所有commit更新远程存储库
$ git push origin <branch-name-you-have made commits on>
如果branch不存在于远程存储库中,那么commit的整个branch将被push到远程存储库中。
HP@Gaurav MINGW64 /e/directory/example (master)
$ git push origin master
fatal: HttpRequestException encountered.
An error occurred while sending the request.
Username for 'https://github.com': gauravkukade
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 255 bytes | 255.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/gauravkukade/example.git
d7aefb1..dc3d3ef master -> master
HP@Gaurav MINGW64 /e/directory/example (master)
$
下面的GIF显示了git push命令:
小彩蛋
如何在本地创建一个新branch
您可以使用以下命令在本地创建一个新branch: