GIT 如何在不提交Commit的情况下切换分支
2017-01-10 14:22
387 查看
最近遇到一个问题,事情是这样子的,刚刚接到客户说他的项目有问题,于是就打开本地的源码查看经过排查确定了问题,于是就开始进行修正工作
将问题修复好准备提交到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)
相关文章推荐
- GIT 如何在不提交Commit的情况下切换分支
- Git如何在不提交当前分支的情况下切换到其它分支进行操作
- git如何合并某次提交命令到分支--git cherry-pick <commit id>
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git如何不commit当前分支的修改而切换到其它分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- 如何把Git的某个commit提交到指定的本地分支和远程分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支
- git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支