git自学宝典——修改控制

本文深入讲解Git的基本操作,包括修改控制、撤销与文件管理。探讨了如何避免常见错误,如异步执行问题,以及如何正确地修改、撤销和管理文件。适合初学者和希望提升技能的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前文回顾


本章分三个部分讲:

  • 一是讲解如何控制修改
  • 二是讲解如何撤销修改
  • 三是讲解如何操作文件

这章主要是对前面做一个补充,提点出来容易错的几个部分,防止阅者踩坑。



控制修改


还是以前文所创的demo仓库为例,打开里面的readme.md文件,其初始内容如下:

# dmeo
hello world

给readme.md添加额外内容“this frist modify",readme.md此时文件内容如下:

#demo
hello world
this frist modify

执行如下命令:

git add readme.md     #windows不区分大小写,实际上readme是大写

将readme.md文件添加到暂存区,暂时不提交;再修改readme.md文件,将其this frist modify改为this second modify;其文件内容如下:

#demo
hello world
this second modify

注意:第一次修改文件内容后,执行了git add命令,第二修改文件内容后,并没有执行git add命令。
注意:第一次修改文件内容后,执行了git add命令,第二修改文件内容后,并没有执行git add命令。
注意:第一次修改文件内容后,执行了git add命令,第二修改文件内容后,并没有执行git add命令。

接下来执行如下命令:

git commit -m “file-modiity test”

执行命令结果如下:

Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)

          modified: README.md

no changes added to commit (use “git add” and/or “git commit -a”)

提示啥子东西,表示修改没有被提交,甚至连git status没有执行,就直接弹出了状态信息。出现这种原因很简单,回顾一下操作步骤如下:

  1. 修改readme.md文件
  2. 将readme.md文件添加到暂存区
  3. 再修改readme.md文件
  4. 将仓库目录与本地git仓库同步

发生这种情况是因为出现了异步执行操作,git系统支持的是同步操作,也就是说在提交仓库修改之前,暂存区的内容与工作区的内容必须一致。将上述的操作步骤改为如下方式,则不会出现异常。

  1. 修改readme.md文件
  2. 将readme.md文件添加到暂存区
  3. 再修改readme.md文件
  4. 在将readme.md文件添加到暂存区
  5. 将仓库目录与本地git仓库同步


撤销修改

此时,打开你的demo仓库下的src文件夹,查看demo.txt文件内容如下:

hello world

将demo.txt文件内容修改如下所示:

hello world
my boss is SB

假设你是一名程序员,如果你真的提交了这个文档,再被你的老板看见,那么你就可以卷铺盖回家了。所以说,撤销修改就很重要,撤销方式也很简单,执行git checkout – filename命令就行。

修改撤销分四种情况,分别如下:

  1. 工作区修改了,但是还没有添加到暂存区。
  2. 工作区修改了,但是已经被添加到暂存区。
  3. 工作区修改了,也已经提交到本地仓库了。
  4. 工作区修改了,提交到本地仓库并同步到远程仓库。

分别对四种情况的撤销操作如下:

  1. 执行git checkout – filename命令就行
  2. 执行git reset head filename将其添加从暂存区撤销掉,再执行操作1即可。
  3. 利用前面教学方法,版本回退。
  4. 神仙难救,哭去。如果看这个的朋友找到方法了,求在评论区赏下来。


操作文件

文件操作无非四种情况,分别是:

  1. 创建文件
  2. 删除文件
  3. 移动文件
  4. 重命名文件
1、创建文件

创建文件git是没有提供相应命令的,但是可以借用dos窗口来创建文件,这里dos如何创建文件请自行百度。那么如何实现本地仓库创建文件呢?在dos下创建了文件,再借用git add和git commit命令从而实现文件创建。

2、删除文件

删除文件命令为git rm file;假设在demo/src上创建一个文件test.txt文件,其文件内容为空。
在命令行窗口下执行如下命令:

git add *
git commit -m "create file “test.txt”
git rm test.txt

为什么先要将文件提交到本地仓库呢?因为git操作的是本地仓库内容,如果直接在demo/src上创建一个文件test.txt文件,这个文件输入OS,而不是属于git仓库。如果不同步到本地仓库,执行git rm test.txt,则会出现如下执行结果:

fatal: pathspec ‘test.txt’ did not match any files

如果提交了,执行结果如下:

rm ‘src/test.txt’

还有一个命令值得一提,git rm --cached filename;此命令执行后,将文件从本地仓库删除,但是不从OS中删除。

3、重命名文件

git提供了重命名文件的git mv <oldname> <newname>命令,使用该命令可以将文件重命名。

4、移动文件

重命名文件命令也能用来移动文件,其命令格式为git mv <file> <destination directory> ,使用该命令可以将文件移动到destination directory目录下。


注:由此向上,本章所有介绍的操作在操作之后,必须使用git add和git commit命令提交修改。

本章讲了一些基本操作,这些操作反正我自己没有用到几个,直接在OS中修改了,然后提交就完事了。不过你说我不说吧!这毕竟是人家git系统精心设计出来的东西,你说我说吧!犹如鸡肋,食之无味。下章讲如何关联远程仓库,以及远程仓库如何与本地仓库进行同步访问。
欲知后事如何,且听下回分解。
有钱的赏个钱场,没钱的赏个人场。良某人谢过了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值