git 实用技巧
一、git 常用操作
1.1
// 该方法会显示某次提交的所有更改
git log --pretty=oneline 文件名
git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e
1.2
git log filename //可以看到fileName相关的commit记录
git log -p filename //可以显示每次提交的diff
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename // 只看某次提交中的某个文件变化,可以直接加上fileName
1.3 重命名分支
git branch -m <oldname> <newname>
1.4 保存修改,应用修改
git stash
git stash apply
1.5 –squash 方式merge
git merge --squash 某分支
二、 创建分支并和远程绑定
git branch abc // create branch
git push origin abc // push branch
git branch --set-upstream-to=origin/abc // 和远程分支关联
git checkout -b 本地分支 远程分支
三、 取消本次commit / 远程回滚
git reset HEAD^ // 取消本次提交
git reset --soft <commitId> // 本地回滚工作空间回滚到某id。保留修改
git reset --hard <commitId> // 本地回滚工作空间到某id,不保留修改。
git revert <commitId> // 如果远程想回滚,先在本地revert,再提交。
四、 用git 调用资源管理器打开当前目录
$ explorer.exe .
五、git同步更新远程分支(去缓存)
$ git fetch -p
六、 删除远程分支和tag 、 重命名
// delete remote branch
$ git push origin --delete <branchName>
// 推送一个空分支到远程分支,其实就相当于删除远程分支:
$ git push origin :<branchName>
// delete remote tag
$ git push origin --delete tag <tagname>
// 推送一个空tag到远程tag
git tag -d <tagname>
git push origin :refs/tags/<tagname>
// 获取远程tag
git fetch origin tag <tagname>
// 把本地tag推送到远程
git push --tags
# 创建轻量标签
$ git tag v0.1.2-light
# 创建附注标签
$ git tag -a v0.1.2 -m “0.1.2版本”
与切换分支命令相同,用git checkout [tagname]
查看标签信息
用git show命令可以查看标签的版本信息:
$ git show v0.1.2
误打或需要修改标签时,需要先将标签删除,再打新标签。
$ git tag -d v0.1.2 # 删除标签
$ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
$ git push origin --tags # 将本地所有标签一次性提交到git服务器
七、 git自定义指令
// 将 checkout 简化成 co
git config --global alias.co "checkout"
// 将显示分支颜色指令简化成 lg
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"
git 实用技巧的更多相关文章
- Git实用技巧
1.关于版本控制系统 (1)本地版本控制系统 (2)集中化的版本控制系统 (3)分布式版本控制系统 2.Git的三种状态 对于任何一个文件,在 Git 内都只有三种状态: 已提交(committed) ...
- Git 实用技巧:git stash
我们经常会遇到这样的情况: 正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来.然后切换 ...
- Buildroot构建指南--快速上手与实用技巧
Buildroot官方全英文使用手册的链接是https://buildroot.org/downloads/manual/manual.html,需要知道每一个细节的朋友,可以仔细查阅,这篇文章只是我 ...
- Hbuilder实用技巧(转)
Hbuilder实用技巧 原创 2016年05月19日 10:25:42 标签: hbuilder 操作 16551 1. Q:怎么实现代码追踪? A:在编辑代码时经常会出现需要跳转到引用文件或者变量 ...
- Buildroot构建指南--快速上手与实用技巧【转】
本文转载自:http://blog.csdn.net/zhou_chenz/article/details/52335634 Buildroot官方全英文使用手册的链接是https://buildro ...
- Notepad++ 实用技巧
Notepad++是一款开源的文本编辑器,功能强大.很适合用于编辑.注释代码.它支持绝大部分主流的编程语言. 本文主要列举了本人在实际使用中遇到的一些技巧. 快捷键 自定义快捷键 首先,需要知道的是: ...
- javascript实用技巧、javascript高级技巧
字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...
- iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式
iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https:// ...
- iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示
iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示 本文介绍其简单使用: 第一步:在本地建立一个访问的服务端. 打开本地终端,在本地新建一个文件夹,在该文件夹中存放测试的html页面. ...
随机推荐
- [LeetCode] Ugly Number II 丑陋数之二
Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...
- [LeetCode] Transpose File 转置文件
Given a text file file.txt, transpose its content. You may assume that each row has the same number ...
- VS2015下如何用编译、调试程序。
VS2015下如何用编译.调试程序. (通过实践给出截图) 安装步骤: 下载安装网址[VS2015下载地址](http://www.ithome.com/html/win10/164028.htm) ...
- 自动化运维工具ansible部署以及使用
测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...
- 理解"熵"
熵描述了事物的混乱程度 一个变量x,它的可取值为x1,x2,x3,x4.当它取值为这几个值时,概率分别为p1,p2,p3,p4.那么这个混乱程度就可以描述为f(p1,p2,p3,p4). 二元取值时熵 ...
- TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
状态说明 SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置. 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同 ...
- 【转】iOS动态库和静态库的简要介绍
静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...
- SqlServer中使用正则表达式
一.查看配置,如果‘show advanced options’,‘Ole Automation Procedures’,‘Ad Hoc Distributed Queries’的config_val ...
- 练习JavaScript实现过滤特殊字符
for循环遍历特殊字符和用户输入字符,然后做比较,返回结果. <script type="text/javascript"> var name = prompt(&qu ...
- SHELL编写NGINX服务控制脚本
使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的 ...