[英]Is it necessary to run `git stash push` before `git checkout`
默认情况下, git checkout
会在工作树目录中保留未提交的更改。 然后是否有必要在git checkout
之前运行git stash push
(然后在git checkout
之后的某个较晚的时间点运行git stash pop
)? 或者什么时候有必要,什么时候没有?
我的问题来自https://stackoverflow.com/a/48156644/156458,而且更笼统。
如果有未提交的更改将被git checkout
覆盖,则该命令将抱怨并中止。 在这种情况下,必须使用git commit
或git stash
。
如果有未提交的更改不会被git checkout
覆盖,则命令将成功执行,并且更改将溢出到新分支中。 如果您不想在新分支中看到这些更改,请在git checkout
之前使用git commit
或git stash
。
与其他命令(例如git pull
和git rebase
)不同, git checkout
没有选项--autostash
因为它没有意义:在大多数情况下,当您切换到新分支时,您不想自动执行git stash pop
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.