[Git]git的一些常用操作笔记
回滚到某次历史提交:
git log:查看分支提交历史,确认需要回退的版本
git reset --hard commit_id:进行版本回退
git push --force origin:推送至远程分支
合并提交记录:
git log:查看分支提交历史,确认需要开始合并的最初版本,应选取最初版本的前一个版本
git rebase -i commit_id:进入版本合并vim编辑模式,大概如下:
pick acf6d24 优化
pick 0353373 增加逻辑
pick 1234567 增加其他功能# Rebase 2169bc5..0353373 onto 2169bc5 (2 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
将第二行的pick改为s或者squash,意思是把“优化”和“增加逻辑”两次提交记录合并成一次,而“增加其他功能”保留原有提交记录,
然后输入:wq保存,然后会到修改提交注释的界面,不改的话直接:q退出,否则修改后:wq保存退出
git log:确认提交记录是否正确修改
git push --force origin:推送至远程分支
修改提交记录注释:
git log:查看分支提交历史,确认需要开始合并的最初版本,应选取最初版本的前一个版本
git rebase -i commit_id:进入版本合并vim编辑模式,大概如下:
pick acf6d24 优化
pick 0353373 增加逻辑
pick 1234567 增加其他功能
将要修改的那行的pick改成reword,输入:wq保存退出,然后会到修改提交注释的界面,修改注释后:wq保存退出
git log:确认提交记录是否正确修改
git push --force origin:推送至远程分支
剔除某次提交:
比如在master分支,有以下提交历史:
42eae13 (HEAD -> master) 第四次修改
97ea0f9 第三次修改
e50b7c2 第二次修改
3a52650 第一次修改
如果发现第三次修改有错误,想要剔除第三次修改,却要保留第四次修改呢?
这个时候就可以用revert命令:
git revert -n 97ea0f9
git commit -m "恢复第三次修改"
Git提交历史会变成:
33b8b30 (HEAD -> master) Revert "恢复第三次修改"
42eae13 第四次修改
97ea0f9 第三次修改
e50b7c2 第二次修改
3a52650 第一次修改
实际上,Git把第三次修改从提交中剔除(还原)了,还保留了第四次修改,并且产生了新的commit_id
如果要查看完整的提交记录,可以用命令:
git reflog
[Git]git的一些常用操作笔记相关推荐
- Node.js Git Server搭建及Git常用操作笔记
Node.js Git Server搭建及Git常用操作笔记 安装Git工具即可在本地进行Git仓库的管理,如果要实现远程仓库则需要搭建Git Server.通过Node.js搭建Git Server ...
- 工具篇:Git与Github+GitLib常用操作(不定期持续更新)
工具篇:Git与Github+GitLib常用操作(不定期持续更新) 前言: 写这个主要是打算自己用的,里边很多东西都是只要我自己看得懂,但是用了两个星期发现真是越用越简单,越用越好用,私以为得到了学 ...
- 总结关于Git的一些基本常用操作
git 的基本工作流程 1. clone(克隆): 从远程仓库中克隆代码到本地仓库 2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订 3. add(添加): 在提交前先将代码 ...
- emacs常用操作笔记
Table of Contents 1. emacs操作 1.1. emacs ecb 常用操作 1.2. 与文件操作有关的命令 1.3. 与光标移动操作有关的命令 1.4. 与文件删除操作有关的命令 ...
- Linux用户分组管理的常用操作笔记
linux使用用户和分组的概念来分权限管理系统文件,这对于系统的安全有很大的用处. 先来看下linux中文件信息的基本属性: 如图所示,使用 ls -al 指令,就可以看到文件夹下各文件夹/文件的基本 ...
- mysql cascade的用法_MySQL常用操作笔记
1.创建root用户的密码 mysqladmin -u root password "new_password"; 2.连接到Mysql服务器 mysql -u root -p 1 ...
- redis常用操作笔记
##基本用法(非关系型数据库) 1. 登录redis方法:redis-cli --raw 2. 退出:exit 3. 操作服务端开始/停止/启动:sudo service redis start/st ...
- win下svn常用操作笔记
svn基本命令 checkout 检出 把服务器代码下载到本地一份 update 更新 把服务器上的最新代码更新到本地 commit 提交 把本地代码提交到服务器上 win下svn的客户端工具Tort ...
- ipmitool 设置网关_IPMITOOL常用操作指令
一.开关机,重启 1. 查看开关机状态: ipmitool -H (BMC的管理IP地址) -I lanplus -U (BMC登录用户名) -P (BMC 登录用户名的密码) power statu ...
最新文章
- oracle 更改ip
- java URI 与URL问题
- 基于verilog的洗衣机设计
- charles请求转发_用免费开源的frp实现内网穿透,使用nginx转发的方式去掉端口号...
- 远程链接错误:这可能是由于credssp加密oracle修正
- 【CodeForces - 1199C】MP3(思维,离散化)
- CSS文本溢出的处理方法总结
- 【Deep Learning】genCNN: A Convolutional Architecture for Word Sequence Prediction
- GitHub一夜爆火的阿里高并发技术小册究竟有什么魅力?
- python写webservice接口_Python开发WebService系列教程之REST,web.py,eurasia,Django
- 苹果手机上网速度慢_科普|手机信号明明满格却上不去网?4招帮你搞定它!
- 你有梦想吗?华为云学院助你实现梦想
- 轻轻松松背单词软件测试,十款背单词软件测评报告(转载)
- 华硕服务器系统都还原不了怎么办,华硕笔记本重装系统后dns解析失败怎么办
- python服务器传输wav文件,Python处理wav文件(二进制文件读写)
- jquery事件绑定的问题Uncaught TypeError: $(...).live is not a function at HTMLDocument.<anonymous> (ex5_
- html页面高度不同浏览器兼容性设置
- 快速打开命令行方法集合
- Java筛选重复名字输出单一的,java - 输入:一个单词的字符串。 打印给定字符串的所有重排,而无需重复。 爪哇 - 堆栈内存溢出...
- Linux_Geany使用指南