前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每个新手开发人员都必须知道的8条基本Git命令

每个新手开发人员都必须知道的8条基本Git命令

作者头像
用户6543014
发布2020-02-12 12:15:55
8980
发布2020-02-12 12:15:55
举报

Git是开发人员日常工作中最重要的部分之一。 因此,对于新手开发人员来说,学习Git是必须的。 在本文中,您将学习八个最重要的基本Git命令。

下面,我列出了所有八个命令。 然后,我们一一看一下。

  1. git init
  2. git clone
  3. git add
  4. git commit
  5. git status
  6. git branch
  7. git pull
  8. 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创建一个已经远程存在的存储库的本地副本。 本地副本是远程存储库的精确副本,它包含相同的文件、历史记录和分支。

您可以从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:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SACC开源架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档