git主要命令及作用
创建仓库
mkdir learngit
cd learngit
pwd
pwd是用来显示仓库所在位置的, 名字尽量不要用中文, 避免不必要的错误.
git init
git init 可以把仓库变成可用git管理
运行后在当前目录下会生成 .git 文件, 是用来跟踪管理版本库的, 没事儿不要乱改它, 否则就把仓库毁了.
这个文件默认隐藏, 用 ls -ah 命令可以看到.
把一个文件放到git仓库中
第一步: git add 文件名
使用git add 把文件添加到仓库, 一次添加一个文件.
**git跟踪的是修改而不是文件, 所以每一次修改都要执行一次git add才可以提交到commit中.
第二步: git commit -m “…”
使用 git commit 把文件提交到仓库, 一次可提交多个文件.
-m 后面的内容是对此文件的说明, 方便查找.
git commit命令执行成功后会出现1 file changed
: 一个文件被改动, 2 insertions
: 插入了两行内容
git status
时刻掌握仓库当前状态.
git diff 文件名
可用来查看上次对此文件做出了什么改动.
提交修改文件和提交新文件是一样的.
git log
查看提交日志
也可在后面加上 --pretty=oneline 这个参数变成 git log --pretty=oneline可以看到一长串十六进制数字, 这个是commit id
版本回退
git reset --hard HEAD^ 返回上一次的文件状态
HEAD^ : 返回上一次状态
HEAD^^ : 返回上上一次状态
.
.
.
HEAD~100 : 返回一百次前的状态
如果还想变回来, 只要窗口还没关,就可以找到刚刚那个最新版的commit id ,就可以使用git reset --hard 1094a
来变回来.
当然还有另一种方法,git reflog
可以展示命令历史.
工作区和暂存区
在电脑里能看到的目录就是工作区
隐藏文件夹 .git 不是工作区, 而是git的版本库, 其中最重要的就是state-暂存区, 还有一个自动创建的分支mast