1

git的工作模式

这个是git的工作模式,有工作区(Working Directory),也就是我们的编辑器,里面的文件,版本库(Repository)包含缓存区(stage)和分支(master),可以有多个分支,在开始的时候git会自动帮我们创建第一个分支,指向master的一个指针叫HEAD,也现在使用版本分支。
如图:
clipboard.png

首先
在需要创建版本目录下打开git bash:

$ mkdir learngit
$ cd learngit
$ pwd //命令用于显示当前目录
/Users/michael/learngit

第二步:通过$git init 把这个目录变成可以管理的仓库

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

先创建一个文件filename.txt
输入比如:
Git is a distributed version control system.
Git is free software.

接下来

1)工作区 ===> 版本库(缓存区) : $git add <filename>

$ git add readme.txt

2)缓存区 ===> 主分支 : $git commit

$ git commit -m "wrote a readme file"//-m "..." 指的是输入提交说明"..." 
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

可以多存执行 1) 在执行 2) 一次性提交多个文件
3) 查看工作区状态 : $git status 仓库状态、$git diff对比工作区 和 最新版本 查看具体修改了什么内容

4) 历史记录日记 : $git log 增加--pretty=oneline 一行显示值留下 commit id 和 修改说明

5) 后退一个版本:$git reset --hard HEAD^

6) 回退到某个版本,这里需要用的版本好 commit id 前7 位数:

$git reset --hard 3628164

clipboard.png

改为指向 add distributed

clipboard.png

7) 找不到commit id ,$git reflog 返回 每一次命令 记录,包括 commit id 等

8) 撤回操作 丢弃工作区的修改 $git checkout -- <filename>:

$ git checkout -- readme.txt 

2种情况:
让这个文件回到最近一次$git add$git commit时的状态。就近原则

9) 如果想把缓存区的修改撤消( unstage ) $git reset HEAD file

10)删除文件
工作区删除:$rm <filename> 删除后可以用$git status 查看,删错了, 可以$git checkout --<filename> 恢复
版本库删除:$git rm <filename> 删除后不可恢复当前这一步提交的修改,只能恢复到上一次的提交的文件

.
.
.
...


wuyihao
24 声望1 粉丝

todo...