介绍
此篇为记录笔记,所以语句有些零散
详细学习见廖雪峰大大网站
安装
谷歌百度
基本使用
创建版本库
cd /
mkdir learngit
cd .\learngit\
git init
Initialized empty Git repository in C:/learngit/.git/
可以通过
ls -ah
发现.git文件夹git add .\readme.txt
git commit -m "wrote a readme file"
查看变化
git status
告诉你有文件被修改过,掌握工作区的状态git diff readme.txt
以查看修改内容
命令显示从最近到最远的提交日志
在Git中,我们用git log命令查看
git log
git log --pretty=oneline
回退版本
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
git reset --hard head^
git log --pretty=oneline
发现之前的不见了,可以利用之前的commit id
Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向所需文件
Git提供了一个命令git reflog用来记录你的每一次命令,以此可以来找到先前的丢失的commit id
理解暂存区
status 反应的是当前工作区内的变化
add 是将工作区内的放到暂存区,同时status会有记录变化
commit 就是将add上的在放到master分支下,同时status会记录
git diff filename
:比较工作区和暂存区git diff HEAD -- filename
:比较工作区和版本库的最新版本
如果git diff
输出空白就说明工作区是干净的(干净应该就是指与比较的区相同)
撤销
- 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- file
。 - 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。 - 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库(不然你死了☠)。