如何隐藏而不清洗工作区?

时间:2018-11-01 23:23:54

标签: git

我想保存工作区的状态,但不保存为提交。我应该创建一个新分支,还是可以在不清洁工作区的情况下进行藏匿?

5 个答案:

答案 0 :(得分:2)

有一些方法可以要求存储来保存,而不是从工作树中删除更改...但这会起作用

git stash save "I'm saving"
git stash apply # apply stash, but don't remove it from list of stashes

答案 1 :(得分:1)

您可以进行提交,然后进行软重置以将该提交的状态退回到舞台和工作目录中:

git commit -m 'commit for saving'
git reset --soft HEAD~1

如果您要应用它,那么您首先进行的提交仍将在reflog中可用。我实际上更喜欢@ eftshift0给出的答案,但是如果您希望在隐藏堆栈之外进行实际提交,则可以使用此选项。

答案 2 :(得分:0)

您可以在下面尝试

$ git stash
$ git pull - if you want to pull from the master/develop branch
$ git stash pop - To bring your changes back. You might need to resolve conflicts if there are any.

答案 3 :(得分:0)

您可以创建一个分支并将更改保存在那里,但是作为提交

我假设您在master分支中。

首先提交。

git commit -m "your commit message"

git checkout -b NEWBRANCH

现在您要回到主分支了

git checkout master

将您的提交再次转换为更改(取消阶段)

git reset --soft HEAD^

答案 4 :(得分:0)

在@Noam Manos的评论中,使用git stash store "$(git stash create)"。此命令的优点是不会触摸工作树(这可能会影响某些文本编辑器/ IDE的工作树)。

签出https://stackoverflow.com/a/53329520/10462623