我想保存工作区的状态,但不保存为提交。我应该创建一个新分支,还是可以在不清洁工作区的情况下进行藏匿?
答案 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的工作树)。