《Git笔记》

这篇博客详细介绍了Git的本地操作,包括版本管理和分支管理。在版本管理中,重点讲解了`git reset`的三种模式:--hard、--mixed和--soft,以及如何在回退版本后处理丢失的工作。在分支管理部分,提到了分支的创建、合并和冲突解决,但具体内容未展开。
摘要由CSDN通过智能技术生成

先直接上表

命令作用
git add添加到暂存区
git commit -m “comment”提交到仓库
git reset --hard(soft、mixed) xxx版本回退
git log查看提交日志
git reflog查看全部日志
git diff filename比较工作区和暂存区差异
git diff --cached比较仓库和暂存区差异
git checkout .\filename放弃本地修改 和暂存区同步
git checkout branchname切换分支
git status查看git状态
git stash缓存当前未提交的文件
git stash pop将之前缓存的文件返回
git stash list查看缓存列表
git stash save “comment”带注释缓存
git stash apply stash@{id}返回指定缓存
git branch name新建分支 复制当前分支

前言

        之前写过一篇有关Git的博客,但是文章主要内容都集中在两个人如何在github上进行合作开发。有关Git操作没写很多,所以今天好好研究了一下,大体捋了捋Git的使用。从分支管理和版本管理两个方面以及结合平时会用到的一些操作进行记录。
       具体Git的安装以及配置在这里就不讲了,本篇主要将本地操作,有关Git安装和配置以及关联远程GitHub仓库详见其他博客。

基本准备

在准备建仓库的文件夹下,右键打开GItBash
在这里插入图片描述

git init

初始化仓库,初始化之后会生成一个名为.git的隐藏文件夹。Git仓库的信息存储在这个文件夹中,我们不去深究这个文件夹中有什么,只需要明白Git这个系统是用过这个文件夹来控制版本的这个理论就好。

# git branch [branchName];   命令:创建一个新的分支
git branch a
git branch b

这里我们新建两个分支,a和b。留作后用。

**注:报错 fatal: Not a valid object name: ‘master’. **
Git中的默认分支叫做master,这个错误主要原因是因为库刚被初始化,master分支还没有被创建,分支为空,创建分支需要从一个分支复制到另一个分支。

解决方法:随便创建一个文件,并使用如下命令:

git add .
git commit -m "init"
# 基本命令不过多解释

这样master这个分支就被创建出来了。

# 查看所有分支
git branch

在这里插入图片描述
可以看到当前我们拥有了三个分支。

版本管理

现在我们先在master分支中进行操作。
首先直接上命令

# xxx代表版本号  及commit id
git reset --hard xxx  #将工作区、暂存区、仓库回退到xxx版本
git reset --mixed xxx  #将暂存区、仓库回退到xxx版本
git reset --soft xxx #将仓库回退到xxx版本

从三个参数可以看出来,这三个版本回退命令的力度;
soft: 轻度 mixed: 中度 hard:重度

git reset --hard xxx

理解:回退仓库版本到XXX,并将此版本同步到工作区和暂存区。即工作区和暂存区的未提交的变动都会消失。
实操:

	# 1.首先创建一个文件text(也可以不用命令行,直接目录下创建)
	touch text
	# 2.将文件提交到git仓库
	git add .   # .表示全部文件 也可以是git add text
	git commit -m "first commit"
	# 对文件内容进行第一次修改
	echo "first modify" > text #也可用vim/记事本编辑
	# 3.再次提交
	git add .
	git commit -m "second commit"
	# 4.查看日志
	git log
	# 将当前Git回退到first commit版本
	git reset --hard [git log中的版本号]
	# 不想后退 重回最新版本 
	cat reflog # log回退会删除提交记录,reflog记录所有操作记录
	git reset --hard [git reflog 中对应版本号]

OK 至此完成git reset --hard 版本库回退的操作。
主要作用是向前回退版本,查看历史版本。
这样会产生一个问题,查看完历史版本发现自己刚才写的丢了?
这还玩个鬼
解决方法:stash 挖个坑 最后补。

git reset --mixed xxx

理解:回退到XXX版本,同步到暂存区,不改变工作区文件。
一般用来重新提交文件。

git reset --soft xxx

理解:回退到XXX版本,暂存区和工作区的文件都不改变。
一般用于重新commit

实操和上面差不多吧。

分支管理

停笔之后,思路忘了。
分支管理主要是合并冲突以及分支切换这部分。
比如一个文件在没提交到一个分支的仓库之前就是一个普通文件,是分支之间共享的。第一对这个文件进行commit之后这个文件才属于当前分支管理。
这个等之后用到理清了思路回来补上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值