Git是开发人员日常工作中最重要的部分之一。因此,对于新手开发人员来说,学习Git是必须的。在本文中,您将学习八个最重要的基本Git命令。
下面,我列出了所有八个命令。然后,我们将一一看一下。
- git init
- git clone
- git add
- git commit
- git status
- git branch
- git pull
- git push
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创建已经远程存在的存储库的本地副本。本地副本是远程存储库的精确副本,它包含相同的文件,历史记录和分支。
$ git clone <remote-repository-link>
HP@Gaurav MINGW64 /e/directory
$ git clone https://github.com/gauravkukade/example.git
Cloning into 'example'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 16 (delta 3), reused 7 (delta 2), pack-reused 0
Unpacking objects: 100% (16/16), done.
HP@Gaurav MINGW64 /e/directory
$
我们可以从GitHub,BitBucket,GitLab和其他GIT托管平台等平台克隆任何公共存储库。
以下GIF显示git clone命令
3 git add
git add 进行更改。
如果您完成了代码更改,则有必要进行更改,并对其进行快照以将其包括在存储库的历史记录中。
git add 做第一步,它会进行更改。
$ git add <path-of-the-file-you-made-changes-in>
如果您在多个文件中进行了更改,并且想在同一命令中暂存所有文件,则添加所有文件的文件路径,并以单个空格分隔。
如果要暂存所有文件,请输入“。”。(点)之后git add
$ git add .
任何分阶段的更改都将成为下一个快照的一部分,也将成为存储库历史的一部分。
我们也可以在单个命令中暂存并快照当前更改,但不建议这样做。
首先分阶段进行更改,然后进行快照,可以完全控制存储库的历史记录。
以下GIF显示git add命令
4 git commit
git commit 将快照保存到存储库的历史记录中。
git add执行第一步,即分阶段进行更改,git commit最后一步,即将快照保存到存储库的历史记录。在GIT中,这两个步骤完成了更改跟踪过程。
$ git commit -m "<meaningful-git-commit-message>
您可以将有意义的消息写入提交。建议在“简单现在时”中编写提交消息。
如果您要向项目提交新功能,则提交消息应该为"Add <feature-name> feature"。
以下GIF显示git commit命令
5 git status
git status 将更改状态显示为未跟踪,已修改或已分阶段。
HP@Gaurav MINGW64 /e/directory/example (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
ex.txt
HP@Gaurav MINGW64 /e/directory/example (master)
$
以下GIF显示git status命令
6 git branch
git 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)
$
如果您的队友对远程分支进行了提交,并且您想在本地环境中反映这些更改,那么我们执行git pull命令。
与本地环境相比,此命令将检查远程分支上是否有任何更新,如果是,那么它将使用这些更改来更新本地环境。如果否,那么它将什么都不做。
以下GIF显示git pull命令
8 git push
git push 使用本地对分支的所有提交更新远程存储库
$ git push origin <branch-name-you-have made commits on>
如果该分支在远程存储库上不存在,则整个分支及其提交将被推送到远程存储库。
$ git push origin <newly-locally-created-branch-name>
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命令
如何在本地创建新分支
您可以使用以下命令在本地创建新分支
$ git checkout -b <your-new-branch-name>
欢迎关注我,获取更多开发中的知识。