当前位置: 代码迷 >> 综合 >> 三、Git 的基本使用01-TortoiseGit 操作本地仓库
  详细解决方案

三、Git 的基本使用01-TortoiseGit 操作本地仓库

热度:22   发布时间:2023-12-17 02:32:16.0

三、Git 的基本使用01-TortoiseGit 操作本地仓库

  • 3.1 初始化仓库
  • 3.2 添加文件
  • 3.3 提交文件至本地仓库
  • 3.4 修改文件,与再次提交文件
  • 3.5 文件状态讲解
  • 3.7 查看提交历史记录
  • 3.8 回退至历史版本
  • 3.9 文件删除
    • 3.9.1本地删除与恢复
    • 3.9.2从版本库删除
    • 3.9.3从版本库删除,但是不删除本地
  • 3.10 忽略提交

3.1 初始化仓库

方法一: 新建一个文件夹,进入文件夹内部操作1)右键--> 在这里创建Git 版本库 

在这里插入图片描述

注意: 不要直接在桌面上操作,否则桌面就是一个仓库

方法二:2) 右键-->Git GUI here

在这里插入图片描述

方法三: 命令行模式2) git init 

在这里插入图片描述

创建完毕仓库,我们发现,此时我们创建的文件夹下有一个.git 文件已经生成了

并且仓库文件夹上多了一个 绿色图标

在这里插入图片描述

3.2 添加文件

1)在仓库中新建一个文件2)选中新建的文件-->右键--> TortoiseGit--> 添加3)此时我们看到文件夹上多了一个 "加号"

在这里插入图片描述在这里插入图片描述

3.3 提交文件至本地仓库

1)选中文件2) 右键--git提交

在这里插入图片描述

3.4 修改文件,与再次提交文件

当我们修改文件以后,文件上多了一个红色感叹号,
表示我们上次提交后该文件被修改过提交后文件图标又变成绿色

在这里插入图片描述

3.5 文件状态讲解

Git工作目录下的文件存在两种状态:1 untracked 未跟踪(未被纳入版本控制) :  比如新建的文件(此时文件夹上没有图标或者有一个"问号")2 tracked 已跟踪(被纳入版本控制)     2.1 Staged 已暂存状态            : 添加 但未提交状态(此时文件夹上有一个"加号")2.2 Unmodified 未修改状态        : 已提交(此时文件夹上有一个"对号")2.3 Modified 已修改状态          : 修改了,但是还没有提交 (此时文件夹上有一个"红色感叹号")

在这里插入图片描述
这些文件的状态会随着我们执行Git的命令发生变化

在这里插入图片描述
3.6 修改文件,不提交和上一个版本比较差异

修改文件,此时不要提交选中文件-->右键--> TortoiseGit--> 比较差异

在这里插入图片描述

3.7 查看提交历史记录

选中文件右键--> TortoiseGit--> 显示日志此时我们可以看到所有的历史提交记录

在这里插入图片描述

3.8 回退至历史版本

右键--> TortoiseGit--> 显示日志选中某个版本--> 进行如下操作

在这里插入图片描述

3.9 文件删除

3.9.1本地删除与恢复

1) 直接选中文件删除的话,其实只是删除了本地工作区的文件,并没有删除 仓库中的文件此时时可以回退的, 比如我们进行如下操作1)文件删除2)右键--> TortoiseGit--> 还原此时我们发现文件又被恢复了

在这里插入图片描述

3.9.2从版本库删除

2) 我们如果真的想要将某个文件从服务器删除,需要进行如下操作1) 删除文件,和上面的操作一样2) 提交,此时服务文件已经删除了(历史版本还在,还是可以恢复)

3.9.3从版本库删除,但是不删除本地

我们可以如下操作,只删除服务器上的文件,但是本地文件并不删除备注: 删除之后需要提交,才会真正的从服务器删除

在这里插入图片描述

3.10 忽略提交

有时候我们一些文件是不需要提交的比如说idea/eclipse 
开发的代码自动生成的配置文件如何配置不提交呢

在这里插入图片描述
此时我们的根目录下会生成一个.gitignore 文件

忽略文件如何阅读,常见格式

# 所有以.a 结尾的文件讲被忽略(递归)*.a# 不管其他规则怎样,强制不忽略 lib.a!lib.a# 只忽略 文件 TODO (注意这里是文件)/TODO# 忽略 build文件夹下所有内容(递归) 这里是文件夹build/# 忽略 doc 目录下以 *.txt 结尾的文件 (不递归)doc/*.txt# 忽略 doc 目录下以 *.pdf 结尾的文件 (递归)doc/**/*.pdf

当然理解了上述规则,我们也可以手动编辑该文件,而不用通过窗口化操作(如果不嫌麻烦)