Git的基本操作

1.创建用户信息

打开终端cmd

复制代码
git -v 查看版本可以确认是否已经安装成功

git config --global user.name [用户名] //如果用户名存在空格就需要打" "

git config --global user.email [邮箱]

git config --global credential.helper store //保存用户信息

git config --global --list //查看保存的信息

2.创建一个仓库

(1)mkdir [文件夹名] 创建一个目录用来存放仓库

(2)git init [仓库名] 创建一个仓库

(3)查看仓库目录:ls(linux系统)

这里我用的是windows所以指令有所区别:dir

这里只显示了. .. 两个仓库,其实还隐藏了一个仓库.git,我们cd到.git目录下就知道了

可以看到有很多文件,这些都是管理仓库的重要文件,一旦删除仓库将不复存在,此目录就会变成一个普通的文件目录。

(4)删除仓库 rm -rf .git (linux)rd /s /q .git(windows)

删除隐藏文件之后这个仓库也就失效了,当然也可以从新创建

3.Git的工作区和文件状态

(1)工作区:工作目录或者是本地工作目录,简单来说就是自己电脑上的目录。

(2)暂存区:临时存储区域,用于保存即将提交到Git仓库等待修改内容,是git进行版本控制的非常重要的区域。

(3)本地仓库:就是用git init 创建的仓库,包含完整的项目历史和元数据,是git存储代码和版本信息的主要位置 。

流程:修改工作区的文件->添加到暂存区(git add)->提交到本地仓库(git commit)

4.添加和提交文件

(1)查看当前仓库的状态及分支(git status)

(2)创建一个文件(echo "[内容]" > [文件名])

(3)查看文件内容(cat [文件名])(linux) (type [文件名])(windows)

查看状态标红说明文件还没有进入缓存区

(4)提交文件到缓冲区(git add [文件名])

查看状态变成绿色就代表已经提交到缓冲区了

(5)取消缓存(git rm --cached [文件名])

(6)提交文件(git commit -m "第一次提交")

提交的时候要用-m标识提交信息,不写的话也会跳转到vim编辑器器里写

5.git reset 回退版本

三种模式:

git-reset --soft [版本号]:回退到某一个版本,并且保留工作区和暂存区的所有修改内容。

git-reset --hard [版本号]: 回退到某一个版本,并且丢弃工作区和暂存区的所有修改内容。

git-reset --mixed [版本号]: 介于上两者之间,但保留工作区的修改内容,丢弃暂存区的修改内容。

想知道版本号可以执行

git log --oneline 查看历史记录就可以看到ID了

想知道暂存区是否被清空可以执行

git ls-files 查看跟踪文件的列表

如果误操作,回退错了版本号也没关系,可以执行(以-hard为例)

git reflog 查看操作的历史记录,找到误操作的版本号

git reset --hard [误操作的版本号]

6.git diff 产看差异

可以查看工作区,暂存区,本地仓库之间的差异,不同版本的差异,不同分支的差异。

(1)git diff 什么都不加的话,会默认比较工作区和暂存区的之间的内容,它会显示发生更改的文件及更改的详细信息。

显示为空的话说明两个区内容是相同的

(2)git diff --cached 比较暂存区与最后一次提交的差异

我们先修改下文件

(3)git diff [分支1] [分支2] 比较两个分支之间的差异,也可以用这种方式比较版本差异,里面放版本ID就可以了

(4)git diff HEAD^ HEAD 可以比较最近两个版本的差异

(5 )git dif HEAD^ HEAD [文件名] 可以比较指定文件的差异内容

7.git rm 删除文件

(1)git rm [文件名] 同时会删除工作区与暂存区的文件

(2)提交删除信息 (因为在版本中还存在)

(3)删除仓库中的文件,却又不想删除本地文件可以用 git rm --cached [文件名]

相关推荐
jingshaoqi_ccc10 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年10 小时前
Git简单命令
git·gitee·github·batch命令
用户12592654232014 小时前
使用 Docker 搭建 Gitea 并实现 Git HTTP 自动登录
git
一只毛驴16 小时前
谈谈对git stash的理解?
git
长风破浪会有时呀21 小时前
Git 学习笔记
笔记·git·学习
中微子1 天前
Git Rebase 详解:概念、原理与实战示例
git
荔枝吻1 天前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow
云和数据.ChenGuang1 天前
git中的指令解释
git
小Lu的开源日常2 天前
在 macOS 上设置 SSH 和 Git
git·macos·ssh
eleven_h2 天前
ERROR: Permission to Splode/pomotroid.git deni
git