git 常用命令--Linus Torvalds
1.git log
显示仓库的历史记录,默认显示所有记录,
1)git log -m,显示最近的几次提交,,
2)git log --pretty=oneline 显示提交hash和注释
-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(后跟指定格式)。
2.git reflog 查看命令历史
3.git reset
1)git reset --hard HEAD^ 回退到当前的上一个版本
用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
2) git reset --soft HEAD^ 回退到当前的上一个版本,但是内容放回到仓库中,这个命令常用于合并多次提交为一次,或者制作补丁用
4.git branch 创建分支
1)git checkout -b dev hash 在某个点上创建dev分支,并切换到dev分支
2)git branch 查看分支
3)git branch -d dev 删除分支
4)git push origin :remote-branch-name 删除远程分支,:前面的空格不能省,原理是push一个空分支到远程的对应分支,相当于删除
5.git remote 管理仓库地址
1)git remote -v 查看仓库地址
2)git remote add test1 xxx 添加一个仓库地址
3)git remote rename test1 test2
4)git remote set-url test2 xx2 修改url
6.git pull 拉仓库
1)git pull remotename branchname 拉指定仓库
http://blog.csdn.net/wfdtxz/article/details/8632811
7.git commit 提交
1)git commit -m "message" -- file1 file2 ... 提交多个文件
2)git commit -m "message" . 提交本目录下的所有文件
3)git commit -m "message" -- folder
-a 所有文件
--amend 修改上次修改
--allow-empty-message -m ""
7.git push 推送仓库
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin master
8.git stash 暂时存储修改
1)git stash 保存工作现场
2)git stash pop 弹出最上面一个stash并删除
3)git stash list 查看stash列表
4)git stash apply stash@{0} 应用某个stash但是不从list中删除
9.git tag 制作标签
1) git tag 查看标签
2)git tag v0.1 xxx 在某个点上创建v0.1的标签
3)git tag -d v0.1 删除v0.1tag
4)git push origin v0.1 推送tag到远程
5)git push origin --tags 推送本地的所有标签
6)git push origin :refs/tags/v0.1 删除远程的v0.1标签
10. git clean 清除
-f 强制删除 -d 目录 -x 删除不在版本库的包括忽略的文件, -X 删除仅仅忽略的文件
11. git 配置别名
1) git config --global alias.st status ==>> git st
2) git config --global alias.co checkout ===>>git co
3) git config --global alias.ci commit ===>>git ci
4) git config --global alias.br branch ====>>git br
12.git format-patch git补丁应用
1)git format-patch 365a...4e16 两次提交直接的补丁,可能有多个
2)git format-patch -n 07fe 某次提交之前的几次提交
应用补丁
3)git apply --stat newpatch.patch 检查patch文件
4)git apply --check newpatch.patch 检查能否应用成功
5)git apply --reject newpatch.patch 合并没有冲突的,有冲突的产生.rej 文件,原始文件不修改
5)编辑冲突文件,修改提交
6)git am --resolved 标记解决了
13.git diff 标准补丁
1) git diff master..test --binary 只显示两个分支间的差异,
-- ./lib 加上限定符,只比较某个目录
Linux下的diff命令 diff -uN f1 f2
2) git apply --check 检查补丁 --check 检查补丁, 没有check直接应用补丁
3)patch -p1 patchfile 补丁文件 如果有冲突会生成三个文件,.orig是原始文件,.rej是冲突的修改地方.另一个是修改后的文件
diff --git a/test1/b.txt b/test1/b.txt
index e69de29..36aa66d 100644
--- a/test1/b.txt
+++ b/test1/b.txt
@@ -0,0 +1 @@
+12323
-p 指定目录级别,-p0 使用完整路径,-p1 去除前导斜杠,留下test1/b.txt, -p2 剩下b.txt
-R 反不掉,可以对这次的补丁恢复回来
应用补丁冲突 http://www.fwolf.com/blog/post/448
14.git bisect 二叉树定位版本错误
1)git bisect start
2)git bisect bad
3)git bisect good xxx
4)git bisect reset 最后完成,回到当前位置
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
http://git-scm.com/docs/gittutorial
git 常用命令--Linus Torvalds的更多相关文章
- Git 常用命令
一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...
- Git常用命令和Git团队使用规范指南
转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
- Git常用命令总结
Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
- Git 常用命令2
Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...
- git常用命令-基本操作
git常用命令-基本操作 1) 新增文件 新增了Test_1.java git add Test_1.java git commit –m “新增了Test_1.java” git push ...
随机推荐
- 前端知识复习一(css)
1.清楚浮动 父盒子高度为0,子盒子全部定位.浮动.子盒子不会撑开父盒子,下面的盒子会顶上来 清楚方法: clear:both: overflow:hidden: 加空标签 单/双 //双标签 .cl ...
- js 基础对象二
大的分类 JavaScript 对象 JS Array JS Boolean JS Date JS Math JS Number JS String JS RegExp JS Functions JS ...
- magento模板中XML与phtml关系 [四]
layout\catalogserch.xml 中声明的 as="topSearch" 被templ\page\html\header.phtml调用输出 echo $this-& ...
- Zend Optimizer not installed可能原因及解决方法
Zend Optimizer not installed可能原因及解决方法 Optimizer, Zend 在配置php服务器的时候,所有的东西都安装好了,就是浏览一个要求zend的程序的时候,总是提 ...
- 迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上)【转载】
转自: DBAplus社群 http://www.toutiao.com/m5762164771/ 迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上) - 今日头条(TouTiao.com ...
- 使用Log4net记录日志
首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...
- Android 禁止屏幕休眠和锁屏的方法
Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想 ...
- OpenGL学习--------颜色的选择
OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式.无论哪种颜色模式,计算机都必须为每一个像素保存一些数据.不同的是,RGBA模式中,数据直接就代表了颜色:而颜色索引模式中,数据代表的是 ...
- 有向图强连通分支的Tarjan算法讲解 + HDU 1269 连通图 Tarjan 结题报告
题目很简单就拿着这道题简单说说 有向图强连通分支的Tarjan算法 有向图强连通分支的Tarjan算法伪代码如下:void Tarjan(u) {dfn[u]=low[u]=++index//进行DF ...
- 转:C#生成唯一值的方法汇总
这篇文章主要介绍了C#生成唯一值的方法汇总,有需要的朋友可以参考一下 生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: 一.在 .NET ...