git的工作模式
这个是git的工作模式,有工作区(Working Directory),也就是我们的编辑器,里面的文件,版本库(Repository)包含缓存区(stage)和分支(master),可以有多个分支,在开始的时候git会自动帮我们创建第一个分支,指向master的一个指针叫HEAD,也现在使用版本分支。
如图:
首先
在需要创建版本目录下打开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
改为指向 add distributed
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>
删除后不可恢复当前这一步提交的修改,只能恢复到上一次的提交的文件
.
.
.
...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。