0
点赞
收藏
分享

微信扫一扫

GIT第一天(2022.1.18)

_铁马冰河_ 2022-01-20 阅读 48
git

一、什么是GIT?

  • 是一个开源的分布式版本控制系统(是一个好用的版本)。

  • 特点:项目越大越复杂,一起开发者越多,就越能体现GIT的高性能和高可用性。

二、GIT 的特性,它的主要特性有两个:

  1. 直接记录快照,而非差异比较:

    • 记录快照的缺点:占用磁盘空间比较大;

    • 记录快照的优点:版本切换速度快;

    • 记录快照的特点:用空间来换时间。

  2. 基本上所有的操作都是在本地执行的。

三、GIT中的三个区域:

  1. 工作区(写代码的区域);

  2. 暂存区(临时存放的区域,等待被提交);

  3. GIT仓库(最终的存放区域)。

五、GIT中的三种状态

  • 已修改(modified)表示修改了文件,但还没有将修改的结果放到暂存区。

  • 已暂存(staged)表示对已修改文件的当前版本做了标记,包含到下次提交的列表中。

  • 已提交(committed)表示文件已经安全地保存在本地的仓库中。

注意:

  • 工作区的文件被修改了,但还没有放到暂存区,就是已修改的状态。

  • 如果文件已修改并放入暂存区,就是已暂存的状态。

  • 如果将已暂存的文件提交,就属于已提交的状态。

基本的GIT工作流程有三步:

  1. 先在工作区中修改文件;

  2. 然后将你想要提交的放到暂存区;

  3. 最后提交,将快照永久性的保存到仓库中。

六、配置全局文件,配置一次,即可永久生效:

  • git config --global user.name "itheima"

  • git config --global user.email "itheima@itcast.cn"

七、查看全局配置信息

  • git config --list --global

八、查看某个全局配置项

  • git config user.name

  • git config user.email

九、获取帮助信息

  • 第一种方法:git help config

  • 第二种方法:git config -h

十、获取GIT仓库的两种方式:

  1. 将本地目录转换为GIT仓库;

  2. 从其它服务器中复制一个完全一样的。

十一、工作区中文件的4种状态:

其实在工作区中的有4种状态,但是这4种状态分成两在类:

第一类:未被 GIT 管理过:

  1. 也就是 未跟踪(Untracked):属于还没有被 GIT 管理过的文件;

第二类:已被 GIT 管理过:

  1. 未修改(Unmodified):工作区中文件的内容和仓库中的文件内容是一样的;

  2. 已修改(Modifide):工作区中文件和仓库中文件内容不一样,不论是增加还是删除了什么内容;

  3. 已暂存(Staged):工作区中被修改的文件已被放到暂存区,等待提交。

注意:GIT 操作的最终结果 :让工作区中的文件都处于 “未修改” 状态

十二、创建 GIT 文件:

  • git init

十三、查看文件状态:

  • 第一种命令:git status (如果出现下面的情况,就表示这两个文件未跟踪)

  • 第二种命令(精简的方式):git status -s (如果出现两个红色问号,就表示未跟踪)

  • 第三种命令(精简的方式):git status --short

十四、跟踪新文件(也就是让新文件到已暂存状态)

  • 跟踪单个文件的命令:git add 文件名 如:git add aa.txt

  • 跟踪多个或单个文件的命令:git add . ( . 表示 文件目录下的所以有文件)

当跟踪后,再查看状态( git status )时,新文件会显示以下情况

十五、提交文件

  • 第一种命令:git commit -m '这里对提交的内容进行描述(描述的内容不要随便写,方便后面查阅)'

  • 第二种命令:git commit -a -m '这里对提交的内容进行描述'

  • 第三种命令:git commit -am '这里对提交的内容进行描述'

注意:第二种和第三种跳过暂存区,直接提交到仓库区命令,但不能是新增的文件,要是未修改的文件或者已修改的文件才可以用这个命令,也就是说被 git 管理过。

当提交完文件后,再查看文件状态(git status)时,就会显示以下情况:

十六、对未修改文件进行修改后:(不管是添加内容还是删除内容)

  • 红色的modifide 表示已修改

  • 绿色的modifide 表示已暂存

十七、取消命令

  • 取消对文件的修改用 git checkout 文件名

  • 取消暂存的文件用 git reset HEAD 文件名

十八、移除文件有两种

  • 第一种是从仓库和工作区中同时删除:git rm -f 文件名 (删除之后要提交下)

  • 第二种只从仓库中删除了但是工作区还有这个文件:git rm --cached

十九、忽略文件

  • .gitignore (忽略文件要先提交到仓库后,现执行下一步)

  • 注意:文件 .gitignore 的格式规范如下:

    ① 以 # 开头的是注释

    ② 以 / 结尾的是目录

    ③ 以 / 开头防止递归

    ④ 以 ! 开头表示取反

    ⑤ 可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)

    • 星号 * 匹配零个或多个任意字符

    • [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)

    • 问号 ? 只匹配一个任意字符

    • 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等)

    • 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)

二十、查看提交历史

  • 第一种:git log (所有的历史都会出现,最近的出在最上面)

  • 第二种:git log -2 (只展示最近的两条历史,这里的2可以更改为你想要的数字)

  • 第三种:git log -2 --pretty=oneline (在一行上展示最近的两条历史)

  • 第四种:git log -2 --pretty=format:"%h | %an | %ar | %s" (自定义格式展示在一行上最近的两条历史)

二十一、回退到指定的文件

  • git reset --hard 版本id 可以进行版本回退

  • git reflog 从哪个版本切换到哪个版本

举报

相关推荐

【第一天】

第一天

第一天复习

HCIP第一天

html第一天

Java第一天

第一天作业

出差第一天

javaSE第一天

第一天学习

0 条评论