Git基本操作
初始化
$ git init 初始化仓库
$ git init ~/git-server --bare 将当前的仓库初始化为一个裸仓库,裸仓库的意思是没有工作目录。中央服务器并不需要工作目录,它是一个被动的接收作用,如果有工作目录的话,反而会造成错乱
增加
$ git add <file> 跟踪新文件,或者把已跟踪的文件放到暂存区
$ git add . 批量跟踪所有工作目录下未被跟踪的文件
删除
$ git rm --cached <file> 仅从暂存区删除
$ git rm <file> 从暂存区和工作目录删除
$ git rm \*~ 递归删除当前目录及其子目录中所有 ~ 结尾的文件
$ git rm $(git ls-files --deleted) 删除所有被跟踪,但在工作目录被删除的文件
提交
$ git commit 把文件提交到仓库,这种方式会启动文本编辑器以便输入本次提交的说明
$ git commit -m 'wrote a file' -m参数后跟提交说明的方式,在一行命令中提交更新
$ git commit -am 'wrote a file' 把所有已经跟踪过的文件暂存起来一并提交
查看
$ git status 检查当前文件状态
$ git diff 查看工作目录与暂存区的差异
$ git diff --cached 查看暂存区与某次提交的差异,默认为HEAD
$ git diff id1 id2 查看两次提交之间的差异
$ git log 查看提交历史,git log有许多选项,下表列出了一些常用的选项及其释义
选项 说明
-p 按补丁格式显示每个更新之间的差异
--word-diff 按 word diff 格式显示差异
--stat 显示每次更新的文件修改统计信息
--shortstat 只显示 --stat 中最后的行数修改添加移除统计
--name-only 仅在提交信息后显示已修改的文件清单
--name-status 显示新增、修改、删除的文件清单
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符
--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)
--graph 显示 ASCII 图形表示的分支合并历史
--pretty 使用其他格式显示历史提交信息可用的选项包括oneline,short,full,fuller 和format(后跟指定格式)
--oneline `--pretty=oneline --abbrev-commit` 的简化用法
撤销
$ git commit --amend 修改最后一次提交,可以添加漏掉的文件,或者重写提交信息
$ git reset HEAD <file> 取消暂存
$ git checkout -- <file> 恢复文件内容
$ git checkout HEAD -- <file> 取消暂存,并恢复文件内容
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知