git的相关命令(文件管理)

git操作文件的命令和linux的命令是一样的,Linux如何操文件,git就如何操作:
在这里插入图片描述

创建一个版本库

什么是版本库呢?版本库又叫做仓库,可以把它看成是一个目录,在这个目录中,在这个目录中所有的文件都可以有git管理,跟踪文件修改,删除,并记录了提交过的版本,可以随时回退到原来的版本。创建方法:
新建一个文件夹,运行git init命令初始化一个版本库
在这里插入图片描述

1. 添加文件

向版本库中添加文件的方法很简单,一定要放到版本库的目录中;创建一个文件,在将文件添加到版本库
进入版本库
在这里插入图片描述
新建一个文件
在这里插入图片描述
在文件里添加内容
在这里插入图片描述
在这里插入图片描述
执行git add命令,将文件添加到仓库
在这里插入图片描述
执行`git commit -m “注释” 命令,将文件提交到仓库

在这里插入图片描述
这里解释一下git commit 命令,-m后面的内容是对此次提交的一个注释,内容可以随便填,方便以后从历史记录中找到改动的记录
命令执行成功后会有两个提示:
1 file changed:1个文件被改动(我们新添加的readme.txt文件);
1.insertions:插入了一行内容(readme.txt有两行内容)。
命令git status查看版本库的状态
在这里插入图片描述
修改readme.txt文件
在这里插入图片描述
查看版本库的状态,和刚创建的文件相比,newfile变成了modified,这个命令告诉我们,文件被修改了,但是还没有提交
在这里插入图片描述
虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:
在这里插入图片描述
添加文件到版本库,并且查看版本库的状态
在这里插入图片描述
提交文件,并查看版本库的状态,已经变nothing了,版本库很干净

在这里插入图片描述
小结:
提交到版本库的步骤:
git add 文件名 ,添加到版本库
git commit -m “注释”,提交到版本库
git status ,查看版本库的状态
如果git status告诉你有文件被修改过,用git diff可以查看修改内容

1.1 工作区和暂存区

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。
我们在电脑上能看到的目录就是工作区,我们创建的文件就在里面
在这里插入图片描述
版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前面我们执行的git add 文件名命令就是将文件添加到版本库的暂存区中
git commit -m "注释"命令就是将文件从暂存区中提交到分支上,提交完后,暂存区就是空的了。

2. 版本回退

修改文件
在这里插入图片描述
提交到版本库
在这里插入图片描述
相关命令:
git log 查看提交的版本次数和详细信息
在这里插入图片描述
git reset --hard HEAD^ 从当前版本回退到前一个版本,HEAD上的^有多少个,就代表回退几个版本。执行这条命令后,文件退回到上一个版本,内容随之变成了上一个版本的内容
在这里插入图片描述
git reset --hard 版本号 也可通过指定版本号来回退到自己想要的那个版本,版本号不用全写,只需要写一部分即可
在这里插入图片描述
git reset 清空暂存区的所有内容
修改文件后,并添加到暂存区后,查看版本库的状态
在这里插入图片描述
执行git reset命令,并查看版本库的状态
在这里插入图片描述

3. 文件修改

第一次修改readme.txt文件,并执行git add命令添加到版本库
在这里插入图片描述
第二次修改readme.txt文件,
在这里插入图片描述
Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。

提交后,用git diff HEAD – readme.txt命令可以查看工作区和版本库里面最新版本的区别:
在这里插入图片描述

4. 撤销修改

  1. 修改只在工作区
    git checkout – readme.txt 回滚某个文件的修改
    在这里插入图片描述

  2. 修改在暂存区
    修改后的状态
    在这里插入图片描述
    文件已经提交到暂存区了,要分两步撤销修改
    第一步:git reset readme.txt 把readme.txt在暂存区的内容清空(git reset是清空暂存区)
    第二步:git checkout – readme.txt 回滚到最初状态
    在这里插入图片描述

  3. 修改被提交到本地分支
    修改后的文本内容
    在这里插入图片描述
    使用git reset --hard HEAD^git --hard 版本号直接回退到上一个版本
    在这里插入图片描述

  4. 修改被提交到本地分支并且同步到远程库存

在本地改回来,再提交,并同步到中央库,将中央仓库的文件覆盖,但是会有记录存在

文件删除

  1. 只存在于工作区
    执行rm -rf 文件名命令,将文件删除,就是简单的文件删除
  2. 存在于暂存区
    先执行git reset readme.txt 把文件从暂存区中撤走到工作区,然后工作区中文件删除
  3. 存在于本地分支
    执行`git rm -rf 文件名’命令,然后再提交一次
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值