计算机网络/计算机科学与应用/系统/运维/开发

初始Git


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了。


image.png


那如果关闭了命令窗口,如何找到历史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): 第一次提交项目到仓库




Git

所有的努力,不是为了让别人觉得你了不起,而是为了能让自己打心眼里看得起自己。

评论

^