参考地址
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
创建版本库
在要创建的目录下执行
git init
Paste_Image.png
添加文件
git add hellogit.txt
提交
git commit -m "add hellogit file"
查看仓库当前状态
git status
Paste_Image.png
查看修改的内容
git diff hellogit.txt
Paste_Image.png
git add -A // 添加所有改动
git add * // 添加新建文件和修改,但是不包括删除
git add . // 添加新建文件和修改,但是不包括删除
git add -u // 添加修改和删除,但是不包括新建文件
查看提交的记录
git log
git log --pretty=oneline
Paste_Image.png
HEAD^ :上一个版本
HEAD^^ :上上个版本
HEAD~100:上100个版本
回退
##git reset --hard HEAD^
回到原来的版本 需要找到原来的版本id
git reset --hard 版本id
Paste_Image.png
查看之前提交的所有命令(包括版本id)
git reflog
git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
查看工作区和版本库里面最新版本的区别(先git add 后修改)
git diff HEAD -- LICENSE.txt
Paste_Image.png
丢弃工作区的修改
git checkout -- hellogit.txt
git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令,
Paste_Image.png
撤销暂存区的修改
git reset HEAD readme.txt
Paste_Image.png
小结:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
删除文件
从版本库中删除
rm test.txt
git rm test.txt
git commit -m "remove test.txt"
如果工作区误删 版本库还有 可恢复
git checkout -- test.txt