码迷,mamicode.com
首页 > 其他好文 > 详细

Git 进阶操作(一)

时间:2018-08-12 11:57:01      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:end   hello   哈希   origin   oba   记录   his   ict   config   

1. 获取提交信息(commit)

  • git show 1c002d(哈希值的前几位): 获取提交的信息;
  • git show HEAD^: 显示HEAD的上级(parent)提交的信息;
  • git show HEAD~: 同上;
  • git show HEAD~3: the first parent of the first parent of the first parent;
// experiment 分支上,还没有合并到master分支上的内容
$ git log master..experiment
D
C

// 变体:
// git log origin/master..HEAD: 本地分支还未合并到远程分支的内容;

技术分享图片

// 显示每个分支独有的部分
git log master...experiment

// 升级版
git log --left-right master...experiment

2. 更改历史记录(Rewriting History)

  • git commit --amend: 更改最后一次提交的历史记录;

3. 重置(Reset)

  • 三颗"树"
    • 此处"树"指文件的集合;
    • "HEAD": Last commit snapshot, next parent;
    • "Index": Proposed next commit snapshot;
    • "Working Directory": Sandbox;

技术分享图片

3.1 重置情况一

  • git reset 9e5e6a4git reset --soft HEAD~

技术分享图片

3.2 重置情况二(默认)

  • git reset --mixed HEAD~git reset HEAD~

技术分享图片

3.3 重置情况三

  • git reset --hard HEAD~

技术分享图片

4. 合并分支进阶

  • git checkout --conflict=diff3 hello.rb
  • git config --global merge.conflictstyle diff3: 在配置文件中设置;

技术分享图片


  • git log --oneline --left-right HEAD...MERGE_HEAD: 查看合并时,每个分支包含的操作日志;

技术分享图片


  • git log --oneline --left-right --merge: 查看含有冲突的日志;

技术分享图片


4.1 复原分支

  • git reset --hard HEAD~: 将合并的分支复原(针对本地仓库)

技术分享图片

技术分享图片


  • git revert -m 1 HEAD: 保存主分支(C6)的内容,将合并的分支(C4)内容剔除

技术分享图片

  • git revert ^M: 将剔除的分支,重新合并到主分支;
  • git merge topic

技术分享图片

参考资料:

Git 进阶操作(一)

标签:end   hello   哈希   origin   oba   记录   his   ict   config   

原文地址:https://www.cnblogs.com/linkworld/p/9462057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!