about git

git的工做模式

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

首先
在须要建立版本目录下打开git bash:缓存

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

第二步:经过$git init 把这个目录变成能够管理的仓库bash

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

先建立一个文件filename.txt
输入好比:
Git is a distributed version control system.
Git is free software.编辑器

接下来spa

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

$ git add readme.txt

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

$ 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对比工做区 和 最新版本 查看具体修改了什么内容blog

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

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

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> 删除后不可恢复当前这一步提交的修改,只能恢复到上一次的提交的文件

......

相关文章
相关标签/搜索