Git - 基本概念(更改提交)
来源:互联网 发布:linux中开启ftp端口号 编辑:程序博客网 时间:2024/06/16 21:23
更改提交:
【注】如果一个分支已经公开了,并且可能已经存在于其他版本库中了,你就不应该重写,修改或更改该分支的任何部分。
通过git reset命令来更改提交:
git reset --soft HEAD // --soft:索引和工作目录的内容不变,只是将HEAD游标指向给定的提交,通过--soft选项,可以调整提交信息,即commit -m "[new]"
git reset --mixed HEAD^ // 和git reset HEAD^, 默认为--mixed,索引改变,工作目录不变,通过--mixed选项,可以修改要提交的文件内容。
git reset --hard HEAD^ //索引和工作路径都改变。
通过git cherry-pick命令:
通常用于把版本库中一个分支的特定提交引入一个不同的分支中。还可以重建一些提交。
A---B---C---D---E---F---G---H (dev) \ V---W---X---Y---Z (rel_2.3)
例子:开发线dev在提交F中修复了一个bug,假设发布版rel_2.3也存在这个bug,可以通过cherry-pick来将dev 中的提交引入rel_2.3中修复bug。
git checkout rel_2.3
git cherry-pick dev~2
A---B---C---D---E---F---G---H (dev) \ V---W---X---Y---Z---F' (rel_2.3)通过git revert 命令:
通常用于撤销历史记录中的指定提交。
git revert master~3
通过 git commit --amend 命令:
通常这条命令用于修改最新提交,amend意味着提交内容基本相同,但某些方面需要调整或清理。最主要的通途就是在刚做一个提交后修改录入错误。
git add [file] //修改了最新提交的某个文件,然后暂存。
git commit --amend //提交修改,生成一个新的提交替代之前的提交。
通过 git rebase 命令:
通常这条命令用于变基提交,也就是用来改变一串提交以什么为基础的。
git checkout [要变基的分支]
git rebase [基础分支---要变基到的提交]
或
git rebase [基础分支---要变基到的提交] [要变基的分支]
例如,变基之前:
A---B---C---D---E (master 基础分支) \ W---X---Y---Z (topic 要变基的分支)变基之后:git rebase master topic
A---B---C---D---E (master 基础分支) \ W'---X'---Y'---Z' (topic 要变基的分支)
git rebase --onto master maint^ feature (master:要变基到的提交,maint^:当前分支的基础提交,feature:要变基的分支)
git rebase --continue //解决冲突后,执行命令继续变基
git rebase --skip //遇到冲突,执行命令,跳过冲突
git rebase --abort //遇到冲突,执行命令,放弃冲突
变基与合并
A---B---C---D (master) \ X---Y---Z (dev) \ P---Q (dev2)如果现在要将dev分支变基到master最近的提交,那么需要:
git rebase master dev
git rebase dev^ dev2
- Git - 基本概念(更改提交)
- (八)Git 提交更改
- git提交更改
- GIT - 基本概念(对象,索引,提交)
- git commit 提交最新更改
- git 之 git diff 与 更改提交
- iOS-在Xcode中使用Git进行源码版本控制(二:提交更改)
- GitHub入门与实践(2)掌握Git 3、更改提交操作
- Git 学习笔记(简介、安装、添加提交文件、查看状态及更改信息)
- git - 查看已提交的代码的更改
- git查看某次提交/更新所更改的文件
- git撤销本地所有未提交的更改
- git 更改-单个项目-提交时显示的名字
- git版本控制管理系列-----第十章 更改提交
- (一)Git的基本概念
- Git本地仓库 (git基本概念)
- (六)Git 执行更改
- (七)Git审查更改
- HDU 2829 (斜率优化)
- 我的shiro之旅:自定义filter
- 编码转换工具编写笔记
- Word Break II
- 了解CI
- Git - 基本概念(更改提交)
- Mac下搭建GO环境
- 以rem为单位移动端页面开发
- Android 混淆代码总结
- shell
- Windows内核编程 文件监控(ssdt hook)
- Linux和UNIX下如何配置PWC连SQL Server数据源
- 两台不同的数据库之间数据关联
- spark从kafka获取数据很慢