git - 是否有必要在`git checkout`之前运行`git stash push`
问题描述
git checkout
默认情况下,只保留工作树目录中未提交的更改。那么是否有必要在git stash push
之前运行git checkout
(然后git stash pop
在之后的某个时间点运行git checkout
)?或者什么时候需要,什么时候不需要?
我的问题来自https://stackoverflow.com/a/48156644/156458并且更笼统。
解决方案
如果有未提交的更改将被命令覆盖,git checkout
该命令将抱怨并中止。在那种情况下git commit
还是git stash
有必要的。
如果有未提交的更改不会被命令覆盖,git checkout
则该命令成功并且更改溢出到新分支中。如果您不想在新分支中git commit
或git stash
之前看到这些更改,请使用git checkout
.
不像其他命令(如git pull
和git rebase
)git checkout
没有选项--autostash
,因为它没有意义:在大多数情况下,您不想git stash pop
在切换到新分支时自动执行。
推荐阅读
- azure - Azure AD - 请求太长
- django - 在 React Native 0.61 更新后,对 RESTful API 的 Fetch 调用无法在 iOS 上进行身份验证
- android - 无法将文本颜色状态列表添加到材料芯片
- javascript - 事后将fadeIn() 和fadeOut() 实现到函数中
- javascript - 为什么 event.offsetX/Y 在 Firefox/Edge 和 Chrome 中提供不同的值?
- r - 如何使用“for”循环将pairwise.t.test 执行到列表中?
- spring - 使用 reactor 订阅实现 smartLifeCycle
- c++ - 将音频从浏览器流式传输到 WebRTC 本机 C++ 应用程序
- c++ - C++ 标头保护语法和标头放置
- node.js - async.queue 并发任务