有没有什么方法可以运行git stash它创建我的文件存储,但也保持它们,以便我可以继续编辑它们.
我的动机是,我想为我正在做的一些工作创建一个临时快照,这样如果我搞砸了,我就可以回到它.但是,我的代码目前还没有我想要实际提交它的状态,如果我的测试工作正如我预期的那样,我想抛弃旧版本,而不是在我的历史中.
显然我可以复制我的仓库所在的目录,并在其中一个工作,但有更好的方法吗?
Lei*_*sen 16
有(据我所知)没有办法git stash用一个命令来做这个,但你可以用两个用途来做git stash.
您要运行的命令是:
git stash
git stash apply
Run Code Online (Sandbox Code Playgroud)
第一个采取您的本地更改并将它们推送到存储区,从而将它们从HEAD中删除.第二个从堆栈中获取更改,并将它们放回HEAD中,但也会在存储堆栈中保留它们的副本.
我认为在这种情况下更好的解决方案是创建一个主题分支。
在 Git 中,分支非常便宜。
如果您有工作想“藏起来”以便稍后回来,请执行以下操作:
git checkout -b myStashBranch
git add .
git commit -m "savepoint when I foo..."
Run Code Online (Sandbox Code Playgroud)
然后,只需切换回您当前所在的分支:
git checkout -
Run Code Online (Sandbox Code Playgroud)
并继续手头的任务......
如果您想简单地扔掉刚刚保存的“隐藏”工作,请执行以下操作:
git branch -D myStashBranch
Run Code Online (Sandbox Code Playgroud)