Git简单使用

Git简介

1991年Linux创建了Linux,2005年Linux花了两周时间自己用C写了一个分布式版本控制系统:Git

分布式 vs 集中式

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。

那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

windows上Git的配置

打开 Git Bash 命令行输入:

git config --global user.name "Name"
git config --global user.email "mail"

备注: --global 参数表示这台机器上的所有Git仓库都会使用这个配置。

版本库

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

步骤:

  1. 创建一个空目录
  2. 进入该目录,运行 git init 命令把这个目录变成 Git 可以管理的仓库。

创建仓库后目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的。

所有版本控制系统只能跟踪文本文件(如 txt文件 、网页)而不能跟踪二进制文件(如图片、视频)内容的变化,对于文本文件编码的选择推荐使用 utf-8 。【windows系统要避免使用自带的记事本编辑文本文件】

把文件放大 Git 的版本库

  1. 使用 git add file_name 告诉 Git ,把文件添加到仓库。【可以多次使用
  2. 使用 git commit -m "illumination for file" ,告诉 Git 把文件提交到仓库。

时光穿梭机

可以使用 git status 查看仓库当前的状态。

image-20220118195148917

上面的命令告知 test.txt 文件被修改了,但还没提交修改。可以使用 git diff 'filename' 查看做了哪些修改。

image-20220118195500398

提交修改到仓库

  1. git add test.txt
image-20220118195857089
  1. git commit -m 'modify test.txt'
image-20220118200015202

版本回退

可以使用 git log 命令查看最近到最远的提交日志,如果嫌输出的信息太多,看得眼花缭乱可以加上 --pretty=oneline

image-20220118201741153

回退

在 Git 中使用 HEAD 表示当前版本,也就是最新提交的 bc2c... ,上一个版本就是 HEAD^ ,上上一个版本就是HEAD^^ ,也可以写成 HEAD~2 形式。

使用 git reset 命令回退版本,如 git reset --hard HEAD^

image-20220118202658499

可以看出版本已经回退

image-20220118203103587

撤销回退

虽然 git log 命令已经看不到最开始那个版本的 id ,但只要当前的窗口没关闭还有机会复原,找到要复原的 id 号使用命令 如git reset --hard bc2c

image-20220118203623417

如果窗口已经关闭但是想要恢复,也可以使用 git reflog 命令来找到要恢复版本的 commit id。:

image-20220118203920119
posted @ 2022-01-18 22:48  呼叫哆啦A梦  阅读(34)  评论(0编辑  收藏  举报