Git初始
Git 安装完成后进行初始化工作:
Administrator@XTZJ-2021XXASFT MINGW64 /e/Git (master) $ git config --global user.name "zth" Administrator@XTZJ-2021XXASFT MINGW64 /e/Git (master) $ git config --global user.email "xxxx@qq.com"
一、创建初始版本库
需求:需要在一个仓库(目录)里面创建项目,步骤如下:
1、创建一个app目录
$ mkdir app $ cd app $ pwd
2、执行 git init命令将public_html目录变为仓库
$ git init Initialized empty Git repository in E:/Git/.git/
为了显示目录是一个Git版本库,git init 命令创建了一个隐藏目录.git
用于存放git修订信息
3、编写一个文件
$ vim readme.txt Git is a version control system. Git is free software.
4、将文件添加到版本库中
$ git add readme.txt warning: LF will be replaced by CRLF in app/readme.txt. The file will have its original line endings in your working directory
注意:如果目录中已经有了很多文件,使用git add . 命令让Git把当前目录及子目录
中的文件都添加到版本库里 (. 是当前目录的简写)
5、提交文件到仓库中
$ git commit -m "第一次提交项目到仓库" [master (root-commit) 875ef88] 第一次提交项目到仓库 1 file changed, 2 insertions(+) create mode 100644 app/readme.txt
6、git log命令显示从最近到最远的提交日志
$ git log commit ba74aa1712b97c1b81b27b2b848d80f79c533a27 (HEAD -> master) Author: zth <2065646680@qq.com> Date: Thu Dec 9 15:01:55 2021 +0800 第2次修改添加append GPL commit 875ef88e2a9b90aae5b1b62ff34d3dc18e438eb9 Author: zth <2065646680@qq.com> Date: Thu Dec 9 14:56:50 2021 +0800 第一次提交项目到仓库
为了方便简写信息输出
$ git log --pretty=oneline ba74aa1712b97c1b81b27b2b848d80f79c533a27 (HEAD -> master) 第2次修改添加append GPL 875ef88e2a9b90aae5b1b62ff34d3dc18e438eb9 第一次提交项目到仓库
现在有2个版本,如果想将项目回退到上一个版本怎么做?
$ git reset --hard HEAD^ HEAD is now at 875ef88 第一次提交项目到仓库
此时在查看项目内容,已经回退到项目第一个版本了
$ cat readme.txt Git is a version control system. Git is free software.
再通过git log 查看版本库的当前状态
$ git log commit 875ef88e2a9b90aae5b1b62ff34d3dc18e438eb9 (HEAD -> master) Author: zth <xxx@qq.com> Date: Thu Dec 9 14:56:50 2021 +0800
此时,如果还想还原到2个版本状态,如何办 ?
如果还没关闭命令窗口,那么可以找到版本2 的commit id
$ git reset --hard ba74 HEAD is now at ba74aa1 第2次修改添加append GPL
ba74为版本2的 id前4位
此时查看内容时,已经回到原先的版本2了。
那如果关闭了命令窗口,如何找到历史commit id 呢 ?
可以通过 git reflog 查看
$ git reflog ba74aa1 (HEAD -> master) HEAD@{0}: reset: moving to ba74 875ef88 HEAD@{1}: reset: moving to 875e 875ef88 HEAD@{2}: reset: moving to HEAD^ ba74aa1 (HEAD -> master) HEAD@{3}: commit: 第2次修改添加append GPL 875ef88 HEAD@{4}: commit (initial): 第一次提交项目到仓库