创建版本库
git init
把文件添加到暂存区
git add file.txt
将指定文件从暂存区移除
此命令将撤销对该文件的暂存操作,但不会撤销文件的实际更改
git reset HEAD file.txt
从暂存区和工作目录中检出指定文件
此命令将撤销对该文件的暂存操作,并使工作目录中的文件与最近一次提交的状态保持一致
git checkout -- filename
提交文件到版本库
git commit -m "this is description"
查看仓库状态
git status
比对文件(工作区和暂存区的比对)
git diff file.txt
版本库和工作区对比
git diff HEAD -- file.txt
两个版本直接修改过的文件列表比较
git diff hash1 hash1 --stat
如果是branch的话
git diff branch1 branch2 --stat
(加上 –stat 是显示文件列表, 否则是文件内容diff)
查看日志
git log
版本回退(回退到上一个版本)
git reset --hard HEAD^
回退到上上个版本
git reset --hard HEAD^^
回退到上100个版本
git reset --hard HEAD~100
回退到某个特定的版本
git reset --hard 1094a7c
查看操作记录
git reflog
# 删除所有未跟踪的文件和目录
git clean -fd
# 如果你想先查看哪些文件会被删除(安全检查)
git clean -fdn
暂存修改
git stash 将当前所有修改项(未提交的)暂存,压栈。此时代码回到你上一次的提交,用git status可查看状态。
git stash list将列出所有暂存项。
git stash clear 清除所有暂存项。
git stash apply 将暂存的修改重新应用,使用git status可以看到以前暂存的修改又回来了
仅仅删除暂存区里的文件
此时你想撤销错误添加到暂存区里的文件,可以输入以下命令:
git rm --cache 文件名
详情看:
查看某个版本更新的文件
git show c59789e4 --stat
查看某个版本更新的文件及其内容
git show c59789e4
忽略文件权限的改变
git config core.filemode false
修改上一次错误的备注
git commit --amend -m "正确的备注信息"
将git默认的修改文件编辑器改为vim
git config --global core.editor "vim"