一、git 常用操作

1.1

  1. // 该方法会显示某次提交的所有更改
  2. git log --pretty=oneline 文件名
  3. git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

1.2

  1. git log filename //可以看到fileName相关的commit记录
  2. git log -p filename //可以显示每次提交的diff
  3. git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename // 只看某次提交中的某个文件变化,可以直接加上fileName

1.3 重命名分支

  1. git branch -m <oldname> <newname>

1.4 保存修改,应用修改

  1. git stash
  2. git stash apply

1.5 –squash 方式merge

  1. git merge --squash 某分支

二、 创建分支并和远程绑定

  1. git branch abc // create branch
  2. git push origin abc // push branch
  3. git branch --set-upstream-to=origin/abc // 和远程分支关联
  4. git checkout -b 本地分支 远程分支

三、 取消本次commit / 远程回滚

  1. git reset HEAD^ // 取消本次提交
  2. git reset --soft <commitId> // 本地回滚工作空间回滚到某id。保留修改
  3. git reset --hard <commitId> // 本地回滚工作空间到某id,不保留修改。
  4. git revert <commitId> // 如果远程想回滚,先在本地revert,再提交。

四、 用git 调用资源管理器打开当前目录

  1. $ explorer.exe .

五、git同步更新远程分支(去缓存)

  1. $ git fetch -p

六、 删除远程分支和tag 、 重命名

  1. // delete remote branch
  2. $ git push origin --delete <branchName>
  3. // 推送一个空分支到远程分支,其实就相当于删除远程分支:
  4. $ git push origin :<branchName>
  5. // delete remote tag
  6. $ git push origin --delete tag <tagname>
  7. // 推送一个空tag到远程tag
  8. git tag -d <tagname>
  9. git push origin :refs/tags/<tagname>
  10. // 获取远程tag
  11. git fetch origin tag <tagname>
  12. // 把本地tag推送到远程
  13. git push --tags
  14. # 创建轻量标签
  15. $ git tag v0.1.2-light
  16. # 创建附注标签
  17. $ git tag -a v0.1.2 -m “0.1.2版本”
  18. 与切换分支命令相同,用git checkout [tagname]
  19. 查看标签信息
  20. 用git show命令可以查看标签的版本信息:
  21. $ git show v0.1.2
  22. 误打或需要修改标签时,需要先将标签删除,再打新标签。
  23. $ git tag -d v0.1.2 # 删除标签
  24. $ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
  25. $ git push origin --tags # 将本地所有标签一次性提交到git服务器

七、 git自定义指令

  1. // 将 checkout 简化成 co
  2. git config --global alias.co "checkout"
  3. // 将显示分支颜色指令简化成 lg
  4. 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 实用技巧的更多相关文章

  1. Git实用技巧

    1.关于版本控制系统 (1)本地版本控制系统 (2)集中化的版本控制系统 (3)分布式版本控制系统 2.Git的三种状态 对于任何一个文件,在 Git 内都只有三种状态: 已提交(committed) ...

  2. Git 实用技巧:git stash

    我们经常会遇到这样的情况: 正在dev分支开发新功能,做到一半时有人过来反馈一个bug,让马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来.然后切换 ...

  3. Buildroot构建指南--快速上手与实用技巧

    Buildroot官方全英文使用手册的链接是https://buildroot.org/downloads/manual/manual.html,需要知道每一个细节的朋友,可以仔细查阅,这篇文章只是我 ...

  4. Hbuilder实用技巧(转)

    Hbuilder实用技巧 原创 2016年05月19日 10:25:42 标签: hbuilder 操作 16551 1. Q:怎么实现代码追踪? A:在编辑代码时经常会出现需要跳转到引用文件或者变量 ...

  5. Buildroot构建指南--快速上手与实用技巧【转】

    本文转载自:http://blog.csdn.net/zhou_chenz/article/details/52335634 Buildroot官方全英文使用手册的链接是https://buildro ...

  6. Notepad++ 实用技巧

    Notepad++是一款开源的文本编辑器,功能强大.很适合用于编辑.注释代码.它支持绝大部分主流的编程语言. 本文主要列举了本人在实际使用中遇到的一些技巧. 快捷键 自定义快捷键 首先,需要知道的是: ...

  7. javascript实用技巧、javascript高级技巧

    字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...

  8. iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式

    iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https:// ...

  9. iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示

    iOS开发实用技巧—在手机浏览器头部弹出app应用下载提示 本文介绍其简单使用: 第一步:在本地建立一个访问的服务端.  打开本地终端,在本地新建一个文件夹,在该文件夹中存放测试的html页面.   ...

随机推荐

  1. [LeetCode] Ugly Number II 丑陋数之二

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

  2. [LeetCode] Transpose File 转置文件

    Given a text file file.txt, transpose its content. You may assume that each row has the same number ...

  3. VS2015下如何用编译、调试程序。

    VS2015下如何用编译.调试程序. (通过实践给出截图) 安装步骤: 下载安装网址[VS2015下载地址](http://www.ithome.com/html/win10/164028.htm) ...

  4. 自动化运维工具ansible部署以及使用

    测试环境master 192.168.16.74webserver1 192.168.16.70webserver2 192.168.16.72安装ansiblerpm -Uvh http://ftp ...

  5. 理解"熵"

    熵描述了事物的混乱程度 一个变量x,它的可取值为x1,x2,x3,x4.当它取值为这几个值时,概率分别为p1,p2,p3,p4.那么这个混乱程度就可以描述为f(p1,p2,p3,p4). 二元取值时熵 ...

  6. TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)

    状态说明 SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置. 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同 ...

  7. 【转】iOS动态库和静态库的简要介绍

    静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人 ...

  8. SqlServer中使用正则表达式

    一.查看配置,如果‘show advanced options’,‘Ole Automation Procedures’,‘Ad Hoc Distributed Queries’的config_val ...

  9. 练习JavaScript实现过滤特殊字符

    for循环遍历特殊字符和用户输入字符,然后做比较,返回结果. <script type="text/javascript"> var name = prompt(&qu ...

  10. SHELL编写NGINX服务控制脚本

    使用源码包安装的Nginx没办法使用"service nginx start"或"/etc/init.d/nginx start"进行操作和控制,所以写了以下的 ...