如何保持一个分支变化,你不想提交

时间:2014-07-16 10:38:06

标签: git

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

$ git checkout -b Feature

我创建了FileA,FileX 我改变了FileB,FileY

我已经完成了我的新功能,我想只推送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)

但是,如果我想继续进行更改,以防我需要重新开始使用功能,该怎么办? 保持您不希望在分支内提交的更改的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

提交后使用git stash

  

如果要记录当前的工作状态,请使用git stash   目录和索引,但想要回到干净的工作   目录。该命令将保存您的本地修改并恢复   与HEAD提交相匹配的工作目录

答案 1 :(得分:1)

您可以使用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 ...

您可以找到文档here