假设我有一个带有主分支的项目,我创建了功能分支。
$ 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)
但是,如果我想继续进行更改,以防我需要重新开始使用功能,该怎么办? 保持您不希望在分支内提交的更改的最佳方法是什么?
答案 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。