git 命令简洁手册
1.从当前目录初始化
git init
2.对文件进行跟踪 或 将已跟踪的文件放到暂缓区 或 把有冲突的文件标记为已解决状态
git add <file>
3.从现有仓库克隆
git clone 地址(支持git协议,http协议,SSH协议)
4.检查当前文件状态
git status
5.查看已暂存和未暂存的更新
git diff //比较工作目录中当前文件和暂存区域快照之间的差异 git diff --cached // 比较已经暂存的文件和上次提交时的快照之间的差异
6.提交更新
git commit // 启动文件编辑器,可以输入本次提交说明 git commit -m "提交说明" //-----------------以上提交的是放在暂存区域的快照------------- git commit -a //自动把所有已经跟踪过的文件暂存起来并提交
7.删除文件
//已经手动删除目录中的文件 git rm 文件名 //该文件不会再纳入文件版本管理 //删除之前修改过,并且已经放到暂存区域 git rm -f 文件名 // 强制删除 //仅仅是从跟踪清单中删除,当时仍保留在工作目录 git rm --cached 文件名
8.移动文件
git mv file_from file_to
等同于:
mv README.txt README
git rm README.txt
git add README
9.查看提交历史
git log git log -p //显示每次提交的内容差异 git log -2 // 仅显示最近2次更新 git log --stat //仅显示摘要的增改行数统计 --------------------- --pretty选项自定义显示 --------------------------
git log --pretty=oneline //每个提交一行显示 oneline //每个提交一行显示 short //仅显示SHA-1,作者,提交注释 full //仅显示SHA-1,作者,提交者,提交注释 fuller //SHA-1,作者,作者日期,提交者,提交者日期,提交注释 --------------------- --pretty=format 占位符显示 ---------------------- 例:git log --pretty=format: "%h - %an,&ar : %s" /* 选项 说明 %H 提交对象(commit)的完整哈希字串 %h 提交对象的简短哈希字串 %T 树对象(tree)的完整哈希字串 %t 树对象的简短哈希字串 %P 父对象(parent)的完整哈希字串 %p 父对象的简短哈希字串 %an 作者(author)的名字 %ae 作者的电子邮件地址 %ad 作者修订日期(可以用 -date= 选项定制格式) %ar 作者修订日期,按 多久以前的方式显示 %cn 提交者(committer)的名字 %ce 提交者的电子邮件地址 %cd 提交日期 %cr 提交日期,按多久以前的方式显示 %s 提交说明 */ //使用--graph显示ASCII字符串表示的简单图形 git log --pretty=format : "%h %s" --graph //其他选项 -p 按补丁格式显示每个更新之间的差异。 --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(后跟指 定格式) ---------------------限制输出长度--------------------------- git log --since=2.weeks //查看所有最近两周内的提交 选项 说明 -(n) 仅显示最近的 n 条提交 --since, --after 仅显示指定时间之后的提交。 --until, --before 仅显示指定时间之前的提交。 --author 仅显示指定作者相关的提交。
--committer 仅显示指定提交者相关的提交。 /*例如 : Git 仓库中,2008 年 10 月期间,UFreedom 提交的但未合并的测试脚本(位于项目的 t/ 目录下的文件)*/ git log --pretty="%h:%s" --author=UFreedom --since="2008-10-01" \ --before="2008-11-01" --no-merges -- t/
10.使用图形化工具查阅提交历史
gtik
11.撤销操作
//------------------------修改最后一次修改--------------------- git commit --amend //此命令将使用当前暂存区域快照提交 //-----------------------撤销已暂存的文件---------------------- git reset HEAD <file> //----------------------取消对文件的修改----------------------- git checkout -- <file>
12.远程仓库
// ----------------查看当前的远程仓库----------------------- git remote //显示仓库地址 --verbose git remote --verbose //----------------添加远程仓库----------------------------- git remote add <名称> 地址 //----------------从远程仓库抓取数据到本地---------------- git fetch [remote-name] //fetch 只是将远端数据拉到本地仓库,并不自动合并到当前工作分支 //----------------推送数据到远程仓库-------------------- git push [remote-name] [branch-name] git push origin master //------------------查看远程仓库的信息------------------ git remote show [remote-name] //-------------------重命名远程仓库--------------------- git remote rename <现在的名字> <新名字> //-------------------删除远程仓库------------------ git remote rm [remote-name]