Git 学习(二)—— 工作区 — 本地仓库的操作命令
创始人
2024-05-31 10:25:11
0

 我们要上传文件到本地仓库,不是直接拷贝进去的,而是需要通过命令一步步上传。从工作区到本地仓库分为了三步,也可以说是三个区域:


        目录

1、操作命令

 (1) git init(获取本地仓库)

(2) git add(工作区 ==》暂存区)

(3) git commit(暂存区 ==》本地仓库)

2、查看命令(查看历史提交记录)

(1) git status(查看修改的状态)

(2) git log(查看提交的日志信息)

3、git reset(版本回退)

4、添加文件至忽略列表


1、操作命令

 (1) git init(获取本地仓库)

从上图可以知道,在上传到远程仓库之前,我们需要先将文件上传至本地仓库。无论是Windows环境还是Linux环境,我们都可以选择任一目录作为本地仓库,然后初始化该仓库。

Windows环境下,在一个空目录下右键点击 Git Bash,然后输入 git init 初始化为本地仓库

如果当前目录下出现了 .git 目录,说明初始化成果

(2) git add(工作区 ==》暂存区)

我们在当前目录下创建一个 file.txt 文件,然后将该文件上传到暂存区。只要还没提交到本地仓库,我们可以多次上传文件到暂存区。

# 将当前目录下的file.txt 上传至暂存区
git add file.txt# 将当前目录下所有的文件上传至暂存区
git add . 

(3) git commit(暂存区 ==》本地仓库)

提交一条上传记录到本地仓库,同时为该条记录分配ID,有了ID我们就可以进行版本回溯,提交时可以携带提交信息,即本次提交做出了哪些修改。

git commit -m "提交信息"

2、查看命令(查看历史提交记录)

即便是提交了,我们也可以获取到曾经提交到该本地仓库的相关记录。

(1) git status(查看修改的状态)

该命令可以查看暂存区和工作区的修改,一旦commit,该命令所保留的修改会被清空。

对工作区中file.txt 文件的修改,可以使用 git status 查看到

一旦commit,也就是提交一条记录到本地仓库,git status 保存的修改就会被清空,此时的修改状态信息就会被保存到 日志信息中,可以使用 git log 查看。

(2) git log(查看提交的日志信息)

git log 可以查看已经提交到本地仓库的日志记录。(可以携带选项)这些记录里包含了 Git 分支的提交记录。

git log --all        # 查看所有分支
选项解析
--all显示所有分支
--pretty=oneline将提交信息显示为一行
--abbrev-commit使得显示的commit信息更加简短
--graph以图的形式展示

 

3、git reset(版本回退)

git reset 可以让当前文件的内容回退到过去某次提交记录时的状态,相当于撤销了此前的一系列修改。命令格式如下:

git reset --hard 提交记录的ID

示例:

首先我们要明确回到哪一个版本,我们可以输入 git log 查看之前的提交记录

假设我们要回退到 second commit 记录被提交时的状态

4、添加文件至忽略列表

默认情况下,Git会管理工作区的所有文件, 使用 git add . 命令的时候也是会将当前工作区中的所有文件加入到暂存区,然而对于一些临时文件,我们不希望Git 来管理,此时我们可以在忽略列表中加入某个文件的名字。

首先我们要在工作目录下创建一个 .gitignore 文件(文件名称固定)

然后在 .gitignore 文件中加入要忽略的目录或者文件,可参考如下写法

# 忽略所有的 .a 文件
*.a# 忽略 build 目录下的所有文件
build/# 忽略build 目录下的所有 .txt 文件,注意 build/doc/ 下的 .txt 文件不会被忽略
build/*.txt# 忽略build目录以及子目录下的所有 .txt 文件
build/**/*.txt

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...