GIT 如何在不提交Commit的情况下切换分支
2015-07-29 17:11
447 查看
最近遇到一个问题,事情是这样子的,刚刚接到客户说他的项目有问题,于是就打开本地的源码查看经过排查确定了问题,于是就开始进行修正工作
将问题修复好准备提交到git的时候发现当前的分支是不对的,但问题是我已经在当前分支了作了大量修改,如果要切换分支则必须先要将修改过的文件先提交
那么现在问题来了:如何在不提交commit的情况下来切换分支呢?
最后通过查看Pro Git文档了解到Git中有一个stash功能可以实现
经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是
“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
因为之前没有使用过此功能,特意做了个测试
首先 先在test分支修改了test2.txt文件
修改完成后发现该修改不应该在test分支了于是将所有的更改先储藏(stash)起来
然后切换到相应的分支(新建了test2分支)并从stash中取出之前的修改
然后再test2分支中commit所有的修改
因为储藏会产生两个分支记录,所以提交历史看起来乱七八糟的,所以将之前的储藏分支删除(删除后干净多好)
完成,合并分支等操作
使用了stash的分支图
删除stash后的提交历史
参考:
GIT 储藏(Stashing)
git 切换分支的时候 是否需要提交当前已经修改的
来自为知笔记(Wiz)
将问题修复好准备提交到git的时候发现当前的分支是不对的,但问题是我已经在当前分支了作了大量修改,如果要切换分支则必须先要将修改过的文件先提交
那么现在问题来了:如何在不提交commit的情况下来切换分支呢?
最后通过查看Pro Git文档了解到Git中有一个stash功能可以实现
6.3 储藏(Stashing)
来源: <http://git.oschina.net/progit/6-Git-%E5%B7%A5%E5%85%B7.html#6.3-%E5%82%A8%E8%97%8F%EF%BC%88Stashing%EF%BC%89>经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是
git stash命令。
“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
因为之前没有使用过此功能,特意做了个测试
首先 先在test分支修改了test2.txt文件
修改完成后发现该修改不应该在test分支了于是将所有的更改先储藏(stash)起来
然后切换到相应的分支(新建了test2分支)并从stash中取出之前的修改
然后再test2分支中commit所有的修改
因为储藏会产生两个分支记录,所以提交历史看起来乱七八糟的,所以将之前的储藏分支删除(删除后干净多好)
完成,合并分支等操作
使用了stash的分支图
删除stash后的提交历史
参考:
GIT 储藏(Stashing)
git 切换分支的时候 是否需要提交当前已经修改的
来自为知笔记(Wiz)
相关文章推荐
- trident原理及编程指南
- dicom通讯的工作方式及dicom标准简介
- 两种mysql对自增id重新从1排序的方法
- 使用 Rails 的 custom configuration 来配置 Redis
- 市场细分
- JAVA的道路 1+...1000
- UIView
- 最小支配集、最小覆盖点、最大独立集
- MySQL Study之--MySQL约束
- centos中文乱码问题
- Android调试命令总结
- 004--struts.xml配置详解
- 目前数据挖掘类的岗位
- kafka集群原理介绍
- Dicom格式文件解析器
- spring各版本下载地址
- 学习开发怎么去选择机构
- ubuntu下修改mysql数据库root密码
- oracle用户权限操作(2)
- js控制textarea输入的字数