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 [文件名]

相关推荐
代码or搬砖12 小时前
Git学习笔记(三)
笔记·git·学习
虾说羊16 小时前
git连接远程仓库并拉去推送以及克隆命令
git
IT~狂男17 小时前
GIT 实战命令操作大全,代码变动,推动,修改备注,撤销(篇幅一)
git
前端拿破轮17 小时前
从0到1搭一个monorepo项目(一)
前端·javascript·git
消失的旧时光-194319 小时前
git的 Rebase
git
风禾万里1 天前
Git怎么管理软件版本(代码,模型,配置等)
git
默默coding的程序猿1 天前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea
天地人-神君1 天前
将.idea取消git托管
java·git·intellij-idea
Zach_yuan2 天前
版本控制器Git
linux·git
唐青枫2 天前
Git 提交时神秘的 create mode 100644 到底是什么?一文告诉你答案!
git