ls -F $(dirname $(dirname $(git --html-path)))/gitweb echo $(dirname $(dirname $(git --html-path)))/gitweb -----------------------系统配置------------------------------------ git config --global color.ui true //开启颜色支持 git config --global core.quotepath false //支持utf-8编码 git config --global user.name cuiyaonan git config --global user.email cuiyaonan2000@163.com -----------------------系统配置------------------------------------ ----------------------------------grep内容搜索--------------------- git grep "" //git中的文档内容搜索 ----------------------------------grep内容搜索--------------------- mkdir -p a/b/c git rev-parse --git-dir //显示.git目录所在位置 版本库 git rev-parse --show-toplevel //显示工作区根目录 git rev-parse --show-prefix //相对工作区的相对目录 git rev-parse --show-cdup //后退到工作区的根的深度 显示../../类似的情况 git rev-parse master //显示对应的提交ID git rev-parse HEAD //显示对应的提交ID git rev-parse refs/heads/master //显示对应的提交ID --------------------------------config属性文件操作------------------------------------- git config -e [-global | |--system] //git中查看config 配置文件的命令是 git config core.bare //显示 core.bare的值 git config core.bare true //修改core.bare中的值 git config --unset --global user.name// 删除全局变量中的user.anme的值 --------------------------------config属性文件操作------------------------------------- -------------------------------------commit提交操作--------------------------------------- git commit -a //对所有的 修改删除直接提交.条过git add 命令 但是对违背追踪的文件无效 git commit --allow-empty -m "empty commit" //空提交 git commit --amend --allow-empty --reset-author// amend:对刚刚的提交进行修补, reset-author将坐着的id同步进行修改 -------------------------------------commit提交操作--------------------------------------- ------------------------------------------日志操作------------------------------------------- git log --pretty=fuller //显示最全的日志 git log --stat // stat 可以看到每次提交的文件变更统计 git log --pretty=oneline // 精简显示日志 git log --graph --oneline //比上面的更精简些 git log --pretty=raw //日志的详细输出 git log --pretty=raw --grap //根据id显示该链路 参见P85 git log --oneline --decorate -4 //decorate 同是显示里程碑 ,-4表示显示前4条记录 ------------------------------------------日志操作------------------------------------------- -------------------------当前状态status命令------------------------------ git status //显示状态 git status -s //精简显示状态 git status -s -b //精简显示内容. b表示显示当前工作分支 -------------------------当前状态status命令------------------------------ ------------------------------diff对比命令------------------------------------- git diff //工作区与暂存区比较 git diff HEAD //工作区和分支比较 git diff --cached //暂存区 和 版本库中的比较 ------------------------------diff对比命令------------------------------------- --------------------------------相关文件地址--------------------------------------- .git/config // 配置文件保存地方 .git/index //索引文件保存地方 建立了和对象库中的对象实体建的对应关系 目录树 HEAD 指向 refs/heads/master 指向 master --------------------------------相关文件地址--------------------------------------- -----------------------------------checkout命令---------------------------------- git checkout -- [文件名称] //暂存区的全部文件或者指定文件,替换工作区的文件.删除工作区添加到暂存区的改动 关于分离头和 checkout 命令详解参见P97 -----------------------------------checkout命令---------------------------------- --------------------------------------reset命令------------------------------------- git reset HEAD // 暂存区目录树会被master重写,工作区不受影响 git reset --hard HEAD^ //暂存区目录树会被master重写,工作区不受影响(如果已经跟版本库同步则受到影响) hard会破坏工作区未提交的改动慎用 git reset --hard master@{2} //恢复以前的2步骤. 详见P96 --------------------------------------reset命令------------------------------------- git reflog show master | head -5 //显示非 裸版本库 的日志前5条 -------------------------------------关于stash工作区命令------------------------------------------------- git stash //保存当前工作进度 所有工作区尚未提交的改动,包括咋存取都不见了. git stash list//显示以保存的工作进度 git stash pop //从最近保存的进度中进行恢复 stash详情见P108 git branch //显示当前工作分支 -------------------------------------关于stash工作区命令------------------------------------------------- -----------------------------------------------根据id展示对象类型,及内容命令------------------------------- git cat-flie -t //根据id显示对象类型 git cat-file -p //根据id 显示对象内容 -----------------------------------------------根据id展示对象类型,及内容命令------------------------------- -------------------------------------------------------关于里程碑---------------------------------------- git tag -m 'say bye-bye to all previous practice' old_practice ls ./git/refs/tags/old_practice git re-parse old_practice git describe 里程碑详情见P234 -------------------------------------------------------关于里程碑---------------------------------------- --------------------------------------------------------关于删除文件----------------------------------- git rm --cached // 直接从暂存区删除文件 工作区不做出改变 git rm 文件 //本地 暂存区同时删除 多个文件以空格隔开 git clean -fd //删除工作区中尚未放入版本库中的文件和目录 git clean -nd //显示那些本地的会被删除 git add -u //本地文件的变更(删除,修改)不包括添加,全部直接记录到暂存区,可以直接commit --------------------------------------------------------关于删除文件----------------------------------- -------------------------------------关于add命令-------------------------------------------------------- git add -u //本地文件的变更(删除,修改)不包括添加,全部直接记录到暂存区,可以直接commit gtt add -i //根据数字进行选择 git add -A //将所有的新增文件及修改文件全部添加到暂存区,可以直接commit git add . 当下所有的文件添加到暂存区 -------------------------------------关于add命令-------------------------------------------------------- ----------------------------------------------恢复之前删除的文件---------------------------------- git cat-file -p HEAD~1:welcome.txt > welcome.txt //恢复上一个历史版本中的welcome.txt文件 git show HEAD~1:welcome.txt > welcome.txt //恢复上一个历史版本中的welcome.txt文件 git checkout HEAD~1 -- welcome.txt //恢复上一个历史版本中的welcome.txt文件 git add -A //将所有的新增文件及修改文件全部添加到暂存区,可以直接commit ----------------------------------------------恢复之前删除的文件---------------------------------- -------------------------------------------------------------显示版本库中的文件---------------------------------------------- git ls-tree -l HEAD // 显示版本库中的目录树 l 表示显示文件大小.关于暂存区的目录树参见P79中 git ls-files --with-tree=HEAD^ //显示暂存区中上一个版本中的文件 git cat-file -p HEAD^:welcome.txt // 显示暂存区中上一个历史版本中 welcome.txt中的内容 -------------------------------------------------------------显示版本库中的文件---------------------------------------------- ------------------------------------------mv移动命令-------------------------------- git mv welcome.txt readme //将welcome.txt 改名为 readme .相当于 rm + add 命令集合; ------------------------------------------mv移动命令-------------------------------- git rev-list HEAD|wc -l //统计总共提交了多少次 ----------------------------------------悔棋操作---------------------------------------------------------- git commit --amend -m 'go back b' 修改备注 ----------------------------------------悔棋操作---------------------------------------------------------- ------------------------------------------反转提交---------------------------------------------------- git revert HEAD|ID //在不改变提交的前提下,撤销其对某些操作的修改 ------------------------------------------反转提交---------------------------------------------------- --------------------------------------------变基操作---------------------------------------------------- P167 没搞明白 --------------------------------------------变基操作---------------------------------------------------- ---------------------------------------------对等工作区------------------------------------- git clone /path/to/my/workspace/demo/ /path/to/my/workspace/demo-backup //对等工作区克隆 git push /path/to/my/workspace/demo-backup/ //上有工作区推送 克隆工作区报错.必须在克隆工作区 pull git rmote -v //在克隆库中查看 上有版本库的信息 也可以在.git/config中查看 ---------------------------------------------对等工作区------------------------------------- --------------------------------------------裸版本库----------------------------------------------- git clone --bare 上有仓库地址 裸版本地址 //创建裸版本仓库 git push 裸版本地址 //上游仓库中推送数据到 裸版本地址 git --git-dir=裸版本地址 log --oneline //应为不能在裸版本目录下直接执行所以要添加参数 --git-dir --------------------------------------------裸版本库----------------------------------------------- -----------------------------------------------初始化工作区-------------------------------------- git init 初始化工作区目录,可以是绝对也可以是相对目录 git init --bare 裸版本库地址 git push 裸版本库地址 master:master //如果第一次向裸版本库中推送 需要加上master:master -----------------------------------------------初始化工作区-------------------------------------- author:cuiyaonan2000@163.com
git 常用命令整合
关注
打赏