Git 进阶操作(一)
2024-10-16 17:05:03
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 9e5e6a4
或git 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
参考资料:
- Pro Git
- 删除Git仓库中的大文件
- 寻找并删除Git记录中的大文件
- Remove large .pack file created by git
- Removing sensitive data from a repository
- Git+Gerrit如何永久删除历史文件
- git找回本地误删的文件
最新文章
- Azure Service Fabric 开发环境搭建
- j2ee之Filter使用实例(页面跳转)
- 读书笔记<;白帽子讲web安全>;
- eslintrc配置翻译
- AndroidStudio字体主题样式分享
- [Angular 2] ng-class and Encapsulated Component Styles
- bash shell学习-shell基础 (笔记)
- 【POJ】3468 A Simple Problem with Integers ——线段树 成段更新 懒惰标记
- [SVN] 分支同步、合入主干操作分享
- Spring配置DataSource数据源
- css简单实现五角星评分、点赞收藏、展示评分(半颗星、1/3颗星)
- 数据结构与算法 —— 链表linked list(03)
- 深入理解java虚拟机(一)-----java内存区域以及内存溢出异常
- Java Hibernate中的悲观锁和乐观锁的实现
- 【转】Win10下python3和python2多版本同时安装并解决pip共存问题
- 微信小程序navigator
- pgm12
- 《西部世界》S2E9:蝶化庄周,浮生若梦
- VisualSVN+TortoiseSVN搭建版本控制系统教程
- 创建java项目思路