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\""

git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记

  • 2017年12月12日 19:14
  • 2KB
  • 下载

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

最近我们推出了两个教程:熟悉Git的基本功能和让你在开发团队中熟练的使用Git . 我们所讨论的命令足够一个开发者在Git使用方面游刃有余。在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的...
  • MLQ8087
  • MLQ8087
  • 2016-08-10 17:51:55
  • 1953

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

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

关于Intellij Idea中git的技巧

  • qq496013218
  • qq496013218
  • 2017-02-08 14:41:08
  • 780

Firefox火狐浏览器使用小技巧

irefox是现在非常流行的一款浏览器,功能强大并且能够为用户创造一个开放,创新与机遇的网络环境,因而在全世界各地都有很多的粉丝,好像用Firefox取代IE浏览器成了某种时尚。下面小编就为大家分享一...
  • Arcsinsin
  • Arcsinsin
  • 2014-09-20 23:33:47
  • 8193

git使用技巧

  • 2011年11月12日 03:02
  • 30KB
  • 下载

[vim实用技巧读书笔记] vim中的模式以及其中的技巧

vim各个模式技巧总结
  • lidonghat
  • lidonghat
  • 2016-11-02 19:42:36
  • 1391

使用gitbook写一本学习笔记

试用至少5个插件,并写成一篇技术博客
  • ZhouXiaoyu626
  • ZhouXiaoyu626
  • 2017-03-29 18:09:02
  • 285

轻型笔记软件 CherryTree

兼容Windows和Linux 平台,Ubuntu下界面如下:
  • manjianchao
  • manjianchao
  • 2017-05-27 13:49:33
  • 618

程序员笔记工具 cherrytree

非常强大,这个可以有。地址如下, 其他的不多说了。 谁用谁知道。呵呵 http://www.giuspen.com/cherrytree/...
  • hexudong08
  • hexudong08
  • 2012-06-14 10:34:46
  • 1369
收藏助手
不良信息举报
您举报文章:Git使用技巧笔记
举报原因:
原因补充:

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