git 不清理工作区怎么能藏东西?

n8ghc7c1  于 2023-03-06  发布在  Git
关注(0)|答案(5)|浏览(112)

我想保存工作区的状态,但不想保存为提交。我应该创建一个新的分支吗,或者有没有办法在不清理工作区的情况下创建一个隐藏?

3ks5zfa0

3ks5zfa01#

有一些方法可以让stash保存而不是从工作树中删除更改......但这会起作用

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

sczxawaw2#

你可以先提交,然后执行软重置,将提交状态回退到暂存目录和工作目录:

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

如果你想应用的话,你第一次提交的代码仍然可以在reflog中找到。实际上,我更喜欢@eftshift0给出的答案,但是如果你想在stash栈之外进行一次实际的提交,这也是一个选择。

r55awzrz

r55awzrz3#

根据@Noam Manos的注解,使用git stash store "$(git stash create)"。此命令的优点是不触及工作树(这可能会影响某些文本编辑器/IDE)。
checkout https://stackoverflow.com/a/53329520/10462623

fhg3lkii

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.
vybvopom

vybvopom5#

你可以创建一个分支并保存你的修改,但是作为一个提交
我假设你在master分支。
先做一个承诺。
git commit -m "your commit message"
git checkout -b NEWBRANCH
现在你需要回到主分支
git checkout master
再次将你的提交转换为更改(取消暂存)
git reset --soft HEAD^

相关问题