Git使用技巧笔记

原创 2017年02月21日 14:49:59

主要记录一些Git使用的一些问题,以备日后查阅


分支管理


分支合并的几种区别

合并图

  • fast-forward模式(git merge): 如果HEAD在分支的父节点上,这样可以进行”快进方式”,直接移动HEAD到合并分支的头。
  • 关闭fast-forward模式(git merge --no-ff): 不使用fast-forward模式,在当前分支自动创建一个commit合入所有分支的修改。
  • squash模式(git merge --squash): 把多次分支commit历史压缩生成一个commit,当前分支需要一次额外的commit来提交,移动HEAD。适合把local分支的一系列commit合并到一个正式的commit。因为会产生一个新的commit,所以它不适合用在remote分支之间做merge,否则每次merge回来的时候,又出现一个重复的commit。


git reset的几种区别

  • git reset --soft : 移动HEAD到某一个commit,所有的working tree,index(stage) file 都不会变化,这样可以合并多个commit成一个来提交,清理历史。
  • git reset --hard : 回退HEAD到某一个commit,连working tree,index(stage) file也都会回退。
  • git reset --mix : default模式,重置HEAD和index(stage) file,所有从original HEAD到你重置到的那个commit之间的所有变更仍然保存在working copy中,被标示为已变更,但是并未staged的状态


git merge的语法

  • git merge -X ours master:
    pick our branch if conflict and merge for non-conflict.

  • git merge -X theirs master :
    pick master if conflict and merge for non-conflict.

  • git merge -s ours master :
    pick all ours and drop master.


git 分支管理,这个讲的比较清楚


对于已经发布的分支为什么不应该用rebase


git diff的几种区别

  • git diff : Shows the changes between the working directory and the index. This shows what has been changed, but is not staged for a commit.
  • git diff --cached : Shows the changes between the index and the HEAD(which is the last commit on this branch). This shows what has been added to the index and staged for a commit.
  • git diff HEAD : Shows all the changes between the working directory and HEAD (which includes changes in the index). This shows all the changes since the last commit, whether or not they have been staged for commit or not.


全局diff配置文件C:\Users\xxx\.gitconfig

比较多个文件,用git difftool --cached --dir-diff

[diff]
    tool = bc3
[difftool]
    prompt = false
[difftool "bc3all"]
    cmd = "git difftool --tool=bc3 \"$REMOTE\" &"
[difftool "bc3"]
    cmd = \"d:/program files (x86)/beyond compare 3/bcomp.exe\" -expandall -solo \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = bc3
[mergetool]
    prompt = false
[mergetool "bc3"]
    cmd = "\"d:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""

一个三年Android开发的总结-常用的git技巧与误区

常用的git技巧前文《git的基础知识与协作开发》,对git的基本使用作了流水式的总结。在日常工作中最常用的也往往都是git checkout -b创建新分支,修改之后commit,再然后git pu...
  • w7849516230
  • w7849516230
  • 2016年03月27日 18:50
  • 1948

Git常见使用技巧

原文地址:http://blog.csdn.net/ariesjzj/article/details/7747876 Git和SVN,CVS一样,是一种源代码管理系统。和后两者不同的是,它不仅可...
  • u011784994
  • u011784994
  • 2016年10月24日 16:25
  • 335

sublime 使用技巧

sublime 使用技巧 首先官网下载安装 安装完成后常用插件进行对应的安装 进入https://packagecontrol.io/installation 进行package contro...
  • x8505122
  • x8505122
  • 2015年02月07日 20:03
  • 633

git笔记 (根据廖雪峰git教程整理)

创建版本库 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步: 第一步,使用命令git add ,注意,可反复多次使用,添加多个文件...
  • u012804178
  • u012804178
  • 2016年07月27日 14:52
  • 1667

Git学习笔记总结和注意事项

21、git tag tagname:创建标签 22、git show tagname:查看标签信息。注意:标签不是按时间顺序列出,而是按字母排序的。 23、git tag -a tagname ...
  • u011043843
  • u011043843
  • 2014年06月28日 21:07
  • 1793

sublime使用技巧

建议安装的Sublime插件 ConvertToUTF8:解决文件编码转换的问题 Emmet:快速编写html、css、js的神级插件 Bracket​Highlighter :括号高亮显示 Colo...
  • QQ80583600
  • QQ80583600
  • 2017年01月07日 01:27
  • 926

Atom使用的技巧

ATOM常用插件推荐 simplified-chinese-menu  ATOM的汉化插件 file-icons  文件图标美化 atom-beautify  代码格式一键...
  • OLiver_web
  • OLiver_web
  • 2017年06月11日 21:13
  • 1634

献给初学者的10个Git技巧

新兴技术是一个将开发模式和习惯做法带入主流的催化剂。有人称这是一种"真爱无价"现 象,这是一部80年代的电影名字,讲述一个书呆子想成为时尚人的故事,“租借”他高中暗恋的对象做其女朋友。最近的一个例...
  • Baple
  • Baple
  • 2015年08月15日 17:21
  • 691

七个你无法忽视的 Git 使用技巧

七个你无法忽视的 Git 使用技巧 编译自:https://medium.freecodecamp.com/7-git-hacks-you-just-can-t-ignore-41aea...
  • cch___
  • cch___
  • 2016年09月28日 14:31
  • 1172

Git 进阶:10大技巧让你迅速提升

最近我们推出了两个教程:熟悉Git的基本功能和让你在开发团队中熟练的使用Git . 我们所讨论的命令足够一个开发者在Git使用方面游刃有余。在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的...
  • MLQ8087
  • MLQ8087
  • 2016年08月10日 17:51
  • 1593
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Git使用技巧笔记
举报原因:
原因补充:

(最多只允许输入30个字)