git:切换分支并忽略没有提交的更改

我正在研究git分支,并准备好提交我的更改,所以我提交了一个有用的提交消息。 然后我心不在焉地对那些不值得保留的代码做了小小的修改。 我现在想改变分支,但git给了我,

错误:您对“X”进行了本地更改; 不能切换分支。

我认为我可以在不承诺的情况下更改分支。 如果是这样,我该如何设置? 如果不是,我该如何解决这个问题? 我想忽略没有提交的小改动,只是改变分支。


你需要一个干净的状态来改变分支。 只有在不影响“脏文件”的情况下才允许分支结账(正如Charles Bailey在评论中所述)。

否则,您应该:

  • 隐藏你目前的变化或
  • reset --hard HEAD (如果你不介意丢失这些微小的变化)或
  • checkout -f (当切换分支时,即使索引或工作树与HEAD不同,也可以继续进行,用于丢弃本地更改。)

  • 如果您想放弃更改,

    git checkout -- <file>
    git checkout branch
    

    如果您想保留更改,

    git stash save
    git checkout branch
    git stash pop
    

    好吧,应该是

    git stash save
    git checkout branch
    // do something
    git checkout oldbranch
    git stash pop
    
    链接地址: http://www.djcxy.com/p/4277.html

    上一篇: git: Switch branch and ignore any changes without committing

    下一篇: How to avoid merge conflicts from pull?