Git 如何在分支内部保存您不需要的更改';我不想承诺

Git 如何在分支内部保存您不需要的更改';我不想承诺,git,Git,假设我有一个带有主分支的项目,并且我创建了功能分支 $ git checkout -b Feature 我创建了FileA,FileX 我换了文件B,文件Y 我已经完成了我的新功能,我只想推送FileA和FileB,但在远程上保持FileX和FileY不变,所以我只提交前两个 $ git commit FileA FileB $ git push 现在,我想回到master或其他分支,以获得一个完全不同的功能,但我对FileX和FileY所做的更改仍然困扰着我的文件夹。如果我不在乎他们,我可

假设我有一个带有主分支的项目,并且我创建了功能分支

$ git checkout -b Feature
我创建了FileA,FileX 我换了文件B,文件Y

我已经完成了我的新功能,我只想推送FileA和FileB,但在远程上保持FileX和FileY不变,所以我只提交前两个

$ git commit FileA FileB
$ git push
现在,我想回到master或其他分支,以获得一个完全不同的功能,但我对FileX和FileY所做的更改仍然困扰着我的文件夹。如果我不在乎他们,我可以:

$ git checkout -- FileY  // which will discard FileY changes. (FileY was changed)
$ rm FileX // (FileX was created)
但若我想保留这些更改以备以后使用,以防我需要继续使用该功能,该怎么办? 将不想提交的更改保存在分支中的最佳方法是什么?

提交后使用:

当您想要记录当前工作状态时,请使用git stash 目录和索引,但要返回到干净的工作状态 目录该命令将保存本地修改并还原 与头提交匹配的工作目录


您可以使用
git stash
。它将保存您的工作并将其从工作树中删除。您可以使用
git stash pop
重新获得工作

例如:

$ git status -s
 M a
?? b
$ git add b # You have to add b before stashing, since git will ignore this file otherwise
$ git stash
$ git status -s
# Nothing ...
您可以找到文档