我想保存工作区的状态,但不想保存为提交。我应该创建一个新的分支吗,或者有没有办法在不清理工作区的情况下创建一个隐藏?
3ks5zfa01#
有一些方法可以让stash保存而不是从工作树中删除更改......但这会起作用
git stash save "I'm saving" git stash apply # apply stash, but don't remove it from list of stashes
sczxawaw2#
你可以先提交,然后执行软重置,将提交状态回退到暂存目录和工作目录:
git commit -m 'commit for saving' git reset --soft HEAD~1
如果你想应用的话,你第一次提交的代码仍然可以在reflog中找到。实际上,我更喜欢@eftshift0给出的答案,但是如果你想在stash栈之外进行一次实际的提交,这也是一个选择。
r55awzrz3#
根据@Noam Manos的注解,使用git stash store "$(git stash create)"。此命令的优点是不触及工作树(这可能会影响某些文本编辑器/IDE)。checkout https://stackoverflow.com/a/53329520/10462623
git stash store "$(git stash create)"
fhg3lkii4#
你可以试试下面
$ 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.
vybvopom5#
你可以创建一个分支并保存你的修改,但是作为一个提交我假设你在master分支。先做一个承诺。git commit -m "your commit message"git checkout -b NEWBRANCH现在你需要回到主分支git checkout master再次将你的提交转换为更改(取消暂存)git reset --soft HEAD^
master
git commit -m "your commit message"
git checkout -b NEWBRANCH
git checkout master
git reset --soft HEAD^
5条答案
按热度按时间3ks5zfa01#
有一些方法可以让stash保存而不是从工作树中删除更改......但这会起作用
sczxawaw2#
你可以先提交,然后执行软重置,将提交状态回退到暂存目录和工作目录:
如果你想应用的话,你第一次提交的代码仍然可以在reflog中找到。实际上,我更喜欢@eftshift0给出的答案,但是如果你想在stash栈之外进行一次实际的提交,这也是一个选择。
r55awzrz3#
根据@Noam Manos的注解,使用
git stash store "$(git stash create)"
。此命令的优点是不触及工作树(这可能会影响某些文本编辑器/IDE)。checkout https://stackoverflow.com/a/53329520/10462623
fhg3lkii4#
你可以试试下面
vybvopom5#
你可以创建一个分支并保存你的修改,但是作为一个提交
我假设你在
master
分支。先做一个承诺。
git commit -m "your commit message"
git checkout -b NEWBRANCH
现在你需要回到主分支
git checkout master
再次将你的提交转换为更改(取消暂存)
git reset --soft HEAD^