【LearnGit】

前博客误删了,重新搭了一个。date: 2024-09-11 22:22:44

开启长期写博客的第一篇,加油 本文学习均来自廖雪峰老师的Git教程,本博客只用于学习知识点汇集

1.什么是Git

分布式版本控制系统

1.1集中式与分布式

集中式:“中央服务器”、联网工作 分布式:每个人都有完整的版本库、安全性高

2.版本库

版本库又名仓库(Repository),在该目录下所有文件可以被Git管理起来

2.1创建版本库

$ mkdir learngit
$ cd learngit
$ pwd

mkdir创建空目录、cd进入该目录、pwd显示当前目录

$ git init

不要手动修改.git目录!

2.2提交文件

假如创建readme.txt文件

STEP 1

$ git add readme.txt

执行命令,没有显示,则添加成功

STEP 2

$ git commit -m "wrote a readme file"

-m后面为本次提交的说明 若命令执行成功:1 file changed:一个文件改动(本次提交了一个readme.txt文件)2 insertion:插入了两行内容(readme.txt文件有两行内容)

可以多次add文件,commit可以依次性提交

注意事项

错误:fatal: not a git repository (or any of the parent directories)。 Git命令要在Git仓库内执行 错误:fatal: pathspec 'readme.txt' did not match any files。 添加文件要在当前目录下存在,用ls或者dir命令查看当前目录文件是否存在,注意拼写

3.时光机穿梭

若我们修改了readme.txt文件:

$ git status

查看仓库当前的状态,可通过其查看修改的文件

$ git diff

查看修改的具体内容

修改后提交:步步检查

$ git add readme.txt
$ git status
$ git commit -m "add distributed"
$ git status

3.1版本回退

$ git log

git log命令可查看从最近到最远的提交日志,嫌输出信息太多,可加上命令--pretty=oneline

$ git log --pretty=oneline

一大串数字是commit id的版本号

如何回退到上个版本? 在Git中,用HEAD表示当前版本,上一个版本是HEAD^,上上个版本就是HEAD^^,往前100个版本HEAD~100 回退到上一个版本可以用git reset命令

$ git reset --hard HEAD^

--hard可以退回到上个版本已提交状态,--soft回退上个版本未提交状态,--mixed回退上个版本已添加未提交状态

再次回到指定新版本

$ git reset --hard banbenhao

版本号没必要写全,前几位即可,Git会自动寻找

再次查看readme.txt文件

$ cat readme.txt

git reflog查看命令历史,确定未来版本号

$ git reflog