问题标签 [git-stash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何在 Git 中恢复丢失的存储?
我经常使用git stash
andgit stash pop
来保存和恢复工作树中的更改。昨天我在我的工作树中进行了一些更改,我已经隐藏并弹出了这些更改,然后我对我的工作树进行了更多更改。我想回去查看昨天隐藏的更改,但git stash pop
似乎删除了对相关提交的所有引用。
我知道如果我使用git stash
然后.git/refs/stash 包含用于创建存储的提交的引用。并且.git/logs/refs/stash 包含整个存储。但是那些参考文献都没有了git stash pop
。我知道提交仍在我的存储库中的某个地方,但我不知道它是什么。
有没有一种简单的方法可以恢复昨天的存储提交参考?
请注意,今天这对我来说并不重要,因为我每天都有备份,并且可以返回到昨天的工作树来获取我的更改。我问是因为必须有更简单的方法!
git - 为什么每个分支的 git stash 不是唯一的?
我想它允许将更改从一个分支移动到下一个分支,但这就是樱桃采摘的目的,如果您没有提交更改,也许您不应该移动它们?
我有时在错误的分支上应用了错误的存储,这让我想知道这个问题。
git - 如何使 git merge 处理对我的工作树的未提交更改?
我和一位同事目前都在 master 分支上工作。我的工作树中有一些我不想提交的代码(调试语句等)。现在,如果他对其中一些相同的文件进行更改,我将无法合并它们:
来自颠覆背景,我习惯于在我从存储库中提取更改时自动合并我的工作树,如果有冲突,我会手动解决它们。
我发现在 git 中执行此操作的最快方法是:
本质上,删除我未提交的更改,进行合并,然后重新应用更改。如何告诉合并自动将我的工作树与我试图引入的更改合并?
git - 您如何存储未跟踪的文件?
我对一个文件进行了更改,加上一个新文件,并希望在切换到另一个任务时使用 git stash 将它们收起来。但是 git stash 本身只存储对现有文件的更改;新文件保留在我的工作树中,使我未来的工作变得混乱。如何存储这个未跟踪的文件?
git - 如何反向应用存储?
我有一个小补丁保存在我的 git stash 中。我已经将它应用到我的工作副本中,使用git stash apply
. 现在,我想通过反向应用补丁来取消这些更改(有点像git revert
会做的事情,但针对存储)。
有谁知道如何做到这一点?
澄清:我的工作副本还有其他变化。我的特殊情况很难描述,但您可以想象隐藏中的一些调试或实验代码。现在它在我的工作副本中与其他一些更改混合在一起,我想看看有没有来自存储的更改的效果。
stash 目前似乎不支持此功能,但 agit stash apply --reverse
将是一个不错的功能。
git - 如何从 git stash 中提取单个文件(或对文件的更改)?
是否可以从 git stash 中提取单个文件或文件的差异而不弹出 stash 变更集?
git - Git stash:“不能应用于脏工作树,请暂存您的更改”
我正在尝试应用我之前存储的更改git stash pop
并收到消息:
关于如何处理的任何建议?
git - 将现有的、未提交的工作移动到 Git 中的新分支
我开始了一些新功能的工作,在编写了一些代码之后,我决定这个功能应该在它自己的分支上。
如何将现有未提交的更改移动到新分支并重置我当前的?
我想重置我当前的分支,同时保留新功能的现有工作。
git - 是否可以将 git stash 推送到远程存储库?
在 git 中,是否可以创建一个存储,将存储推送到远程存储库,在另一台计算机上检索存储,然后应用存储?
或者是我的选择:
- 创建补丁并将补丁复制到另一台计算机,或
- 创建一个次要分支并将未完成的工作提交到该分支?
git - git stash 应用版本
我有 2 个分支:master | 设计
在设计工作我做了一个藏匿并切换到大师,做了一些调整。切换回设计并做了一个stash apply
只是丢失了我在设计分支中的所有更改。
我希望我所有的工作都在一个藏匿处,因为我没有清除或删除这些。
如果我做一个存储列表,我会得到 4 个结果:
如果我尝试git stash apply f2c0c72
我会收到一个错误:
如何应用特定的存储?