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

相关推荐
打盹的小pig11 小时前
git pull 报错
git
Tairitsu_H1 天前
[版本控制器Git] Git 远程仓库 | 多人协作 | 企业级 Git Flow 开发模型
git·版本控制器·远程仓库
我先去打把游戏先1 天前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu
kaixin_learn_qt_ing1 天前
我有两个程序,它们在不同的项目中,但是它们复用了一部分头文件,它们在两个不同的git仓库中,有什么好的办法可以让它们复用吗?
git
greatofdream1 天前
git rebase时如何解决merge节点冲突问题
大数据·git·elasticsearch
敲敲敲-敲代码2 天前
git安装记录
git
我是人✓2 天前
Git入门:从零开始掌握分布式版本控制
分布式·git
Aurora_eye2 天前
Git 笔记
笔记·git
解道Jdon2 天前
FigCraft把Figma用Rust从零重写了一遍
ide·windows·git·svn·eclipse·github·visual studio
橙橙笔记2 天前
QT安卓软件的制作
android·git·qt·软件