繁体   English   中英

是否需要在`git checkout`之前运行`git stash push`?

[英]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 commitgit stash

如果有未提交的更改不会被git checkout覆盖,则命令将成功执行,并且更改将溢出到新分支中。 如果您不想在新分支中看到这些更改,请在git checkout之前使用git commitgit stash

与其他命令(例如git pullgit rebase )不同, git checkout没有选项--autostash因为它没有意义:在大多数情况下,当您切换到新分支时,您不想自动执行git stash pop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM