Git的介绍和命令汇总

目录

一、git介绍

1、git的工作区域

2、git中文件的四种状态

二、常用命令

1、基础命令

2、提交类命令

3、删除类命令

4、分支类相关命令

5、 查看类相关命令

6、撤销类命令


一、git介绍

1、git的工作区域

        在Git中,有四个工作区域:工作区域(Working Directory)、暂存区(Stage/Index)、本地仓库(Repository)、远程仓库(Remote Directory)。如下图:

每个区域的作用如下:

  • 工作区(Working Directory):当前项目的目录,其中包含了正在编辑的文件和子目录。在Git中,工作区并不属于Git版本控制系统的一部分,因此Git不会主动跟踪工作区中的文件变化。
  • 暂存区(Staging Area):也称为索引(Index),是Git版本控制系统中用于暂存文件更改的区域。当使用git add命令将修改的文件添加到暂存区后,Git就会开始跟踪这些文件的更改,并准备将这些更改提交到本地仓库。
  • 本地仓库(Local Repository):是指存储在本地计算机上的Git版本库,其中包含了项目的完整历史记录。当使用git commit命令将暂存区中的文件更改提交到本地仓库时,Git会将这些更改保存到本地仓库中。
  • 远程仓库(Remote Repository):是指存储在远程服务器上的Git版本库,通常是用于协作开发的。通过git push命令将本地仓库中的代码推送到远程仓库中,或使用git pull命令将远程仓库中的代码拉取到本地仓库中。

        当我们对项目中的一个文件进行修改时,Git会将这些更改保存在工作区中。如果需要将这些更改提交到本地仓库中,则使用git add命令将更改添加到暂存区,然后使用git commit命令将暂存区中的更改提交到本地仓库中。如果与其他人协作开发项目时,可以将本地仓库中的更改推送到远程仓库中,也可以将远程仓库中的更改拉取到本地仓库中。在这个过程中,工作区、暂存区、本地仓库和远程仓库分别扮演了不同的角色,共同构成了Git版本控制系统的核心框架。

2、git中文件的四种状态

git中文件有四种状态:未跟踪(Untrack)、未修改(Unmodified)、已修改(Modified)、已暂存(Staged)。

 各状态描述如下:

  • 未跟踪(Untrack):此文件在文件夹中但并没有加入到git库,不参与版本控制,通过git add状态变为Staged。
  • 未修改(Unmodified):文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处:如果被修改,而变成Modified;如果使用git rm移除版本库,则成为Untrack文件。
  • 已修改(Modified):仅仅是修改,并没有进行其他操作,这个文件也有两个去处:如果通过git add可进入Staged状态;如果使用git checkout则丢弃修改内容,返回Unmodified状态,这个git checkout即从库中去除文件,覆盖当前修改。
  • 已暂存(Staged):通过 git commit 将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodified状态,执行git reset HEAD fileName暂存,文件状态为Modified。

二、常用命令

1、基础命令

命令 说明
git --version 查看git版本
git config --global user.name 用户名 设置用户名
git config --global user.email 密码 设置密码
git config --global --list 查看全局配置
git init 初始化本地仓库
git status  查看仓库的状态
git clone 将远程版本库拷贝到本地,创建一份独立的本地版本库,git 可以接受 http 和 ssh 两种协议的地址

2、提交类命令

命令 说明
git add 添加文件到暂存区。可以使用通配符,例如: git add *.java,也可使用目录,例如:git add .
git commit 提交(只提交暂存区中的呢内容,不会提交工作区中的内容)
git push 将本地库内容推送到远程版本库

3、删除类命令

命令 说明
git rm readme.txt 不但从暂存区中删除,同时删除物理文件
git mv a.txt b.txt 把 a.txt 改名为 b.txt
git rm --cached readme.txt 只从暂存区中删除,保留物理文件

4、分支类相关命令

命令 说明
git branch dev 创建分支
git branch -d dev 删除分支
git checkout dev 切换分支
git merge dev 合并分支
git branch 查看所有分支
git fetch 同步本地库和远程库的分支

5、 查看类相关命令

命令 说明
git log 查看提交日志
git diff 对比工作区和暂存区文件的差异 
git diff --cached 显示暂存区(已 add 但未 commit 文件)和最后一次 commit (HEAD)之间差异
git ls-files --stage 检查保存在暂存区 的文件

6、撤销类命令

命令 说明
git reset --soft 仅仅移动当前 Head 指针,不会改变工作区和暂存区的内容
git reset --hard  reset 的默认参数,移动 head 指针,改变暂存区内容,但不会改变工作区 
git reset --mixed 当前 head 指针、工作区和暂存区内容全部改变

猜你喜欢

转载自blog.csdn.net/weixin_47382783/article/details/133819425