- 初次运行 git 前的配置
$ git config --list --show-origin
- 配置用户
# 查看 $ git config user.name # 修改 $ git config user.name = 'mary'
- 初始化本地仓库
执行之后,当前文件夹下面会多出一个 .git 的隐藏文件
$ git init
add commit
本地仓库 —------> 暂存区 -------> 远程仓库
已修改 已暂存 已提交
- 查看当前状态
$ git status
- 把文件添加到暂存区
# 把指定文件添加到暂存区 $ git add 文件名 # 把当前目录下的所有文件添加到暂存区 $ git add .
- 将暂存区的文件提交到远程仓库
$ git commit -m '本次提交的说明信息'
- windows(CRLF) 和 linux(LF) 换行符格式不同的解决方案
# commit 时 CRLF --> LF # pull 时 LF --> CRLF $ git config core.autocrlf false # 为 true 时 git add 会有警告
- 查看历史操作记录
谁提交的,提交的时间是多久,提交时的描述信息是什么。。。
$ git log
- 时光回退
# 回退一个版本 $ git reset head~ # 回退10个版本 $ git reset head~10 # 回退一个版本库、暂存区、工作区 $ git reset --hard head~ # 回退一个版本库、暂存区(默认) $ git reset --mixed head~ # 回退一个版本库 $ git reset --soft head~ # 回滚指定快照(快照hash值) $ git reset --hard 4f06a806b768c496a4d81654a02b365914ca1899
- 时光前进
不小心删了、硬回滚错了的解决办法
# git 记录每一次操作的版本id号 $ git reflog # 回滚到指定id的版本 $ git reset --hard d2eef39
- 暂存区与工作树
给已经存在的 a 文件添加内容
$ git diff # 对比暂存区的 a.txt 和 工作区的 a.txt diff --git a/a.txt b/a.txt # 表示对应文件的 id 分别是 82a90be 和 0846595,左边暂存区,右边当前目录,最后 100644 是指定文件类型和权限 index 82a90be..0846595 100644 # -- 表示该文件是旧文件(存放在暂存区) --- a/a.txt # ++ 表示该文件是新文件(存放在工作区) +++ b/a.txt # 以@@开头合结束,-表示旧文件,+表示新文件,后边数字表示“开始行号,显示行数” @@ -1 +1,2 @@ fjadfsa +423914739124
对比工作树和最新提交
$ git diff head diff --git a/a.txt b/a.txt index 82a90be..0846595 100644 --- a/a.txt +++ b/a.txt @@ -1 +1,2 @@ fjadfsa +423914739124
对比两个历史快照
$ git diff d2eef39517483d3e9d3e5c88b1a6a3f049f88068 4f06a806b768c496a4d81654a02b365914ca1899 diff --git a/a.txt b/a.txt deleted file mode 100644 index 82a90be..0000000 --- a/a.txt +++ /dev/null @@ -1 +0,0 @@ -fjadfsa diff --git a/b.txt b/b.txt deleted file mode 100644 index 965f62b..0000000 --- a/b.txt +++ /dev/null @@ -1 +0,0 @@ -我很认真的在写代码
比较仓库和暂存区
$ git diff --cached 4f06a806b768c496a4d81654a02b365914ca1899 diff --git a/a.txt b/a.txt new file mode 100644 index 0000000..82a90be --- /dev/null +++ b/a.txt @@ -0,0 +1 @@ +fjadfsa diff --git a/b.txt b/b.txt new file mode 100644 index 0000000..965f62b --- /dev/null +++ b/b.txt @@ -0,0 +1 @@ +我很认真的在写代码
- 删除文件
不小心删了 b.txt,怎么恢复?
$ git checkout -- b.txt



