git stash
和 git stash pop
这个问题是一个很好的解决方案吗?
我正在研究B分支,但是我偶然地发生了一些事情,对我来说,将我放回一个较旧的分支A分支A,在那里我继续从事各种任务。
git希望我在切换到分支B之前将我的新作品提交给分支A,但我不能(不应该)这样做。
是安全的(这意味着我不会失去所有的工作,而是能够将其放入正确的分支中),在分支A(错误的分支)上进行git stash
,然后切换到分支B(正确分支)和git stash pop
?我会通过这样做遇到任何灾难吗?
我不确定如何不炸毁我的git项目!
这似乎是一个适当的举动。在发现差异时,使用git stash
将保留您的工作索引,并允许您安全地将代码移至您需要的分支。
就像FYI一样,git stash pop
将把物品从藏匿处移出并进入索引,但也将删除藏匿处的东西。在我不确定使用git stash apply
的情况下,我的偏好是我始终可以检索以前的工作索引,直到我感到足够安全以将其删除为止。
我认为git stash
非常适合您的目的,据我说,这篇文章证实了我的意见。
也许您可以解决一些冲突。
我希望这对您有帮助。
您当前的情况听起来像是使用git stash
的一个很好的理由。您说以下内容:
git希望我在切换到分支B之前将我的新作品提交给分支A,但我不能(不应该)这样做。
信不信由你,git stash
实际上是提交(有时甚至是三个),以保留您的工作目录和舞台,然后再重置它们,使您可以切换分支。
但是,您实际上可以使自己付出临时提出自己。然后切换到B分支B,您在那里工作吗?当您返回分支A时,您可以继续。当要进行工作时,您实际上可以修改临时提交:
git commit --amend
这将重写分支A上的头部提交,并且实际上不会有您在那里所做的临时未完成工作的痕迹。