问题标签 [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.

0 投票
2 回答
160 浏览

git - 在不更改索引或工作树的情况下进行存储

Git from the Bottom Up John Wiegley 建议全天运行一个 cronjob,调用 git stash,然后调用 git stash apply。我很欣赏每小时(甚至更频繁地)对我的工作进行快照的想法,但我担心如果文件暂时消失或恢复到 HEAD,构建可能会中断。有没有另一种方法来实现目标,而不会冒这个风险?

0 投票
3 回答
2582 浏览

git - 当我们的工作流程包含大量未提交的代码时,是否有使用 git-pull 的最佳实践,而不是 stash?

我和我的团队都是 Git 新手;到目前为止,我们已经使用了 CVS。我们有一个远程存储库,我们每个人都有自己的存储库。我们每个人都在研究一个特性或错误,但我们中的一些人可能在同一个特性的不同部分工作。

完成后,他们提交并推送他们的更改。另一位程序员可能想要使用该代码(例如,如果一个人在 BL 上工作,而另一个在 UI 上工作),但没有提交任何内容,因为代码甚至可能还没有编译,或者工作目录可能仍然很脏。

到目前为止,我只发现了一个使用 stash 的建议,但我们觉得它不舒服。我们想从远程提取代码并将其与未提交的代码合并,但据我了解 Git,这可能是不可能的。

您认为我们使用遥控器的最佳方式是什么?

0 投票
2 回答
12881 浏览

git - 什么是藏匿处?

我已经在各个地方搜索并搜索了一段时间,但没有找到一个好的答案。什么是 stash,它的用途是什么?

(困惑的来源:使用漂亮的Fuel和Fossil,点击“Stash changes”按钮,看到里面有问号的文件,不知道如何处理它们......)

0 投票
27 回答
794650 浏览

git - 如何在 git 中按名称命名和检索存储?

我一直认为你可以通过做来给一个存储命名git stash save stashname,你以后可以通过做来申请git stash apply stashname。但似乎在这种情况下,所发生的一切stashname都将用作存储描述。

有没有办法真正命名一个藏匿处?如果没有,您会推荐什么来实现等效功能?本质上,我有一个小储藏室,我想定期申请,但不想总是寻找git stash list它的实际储藏室编号。

0 投票
11 回答
464914 浏览

git - 如何一次删除所有 Git 存储?

如何一次删除所有Git存储?

具体来说,我的意思是输入一个命令。

0 投票
2 回答
2338 浏览

git - 预提交挂钩中的 git stash 在第一次提交时失败

我正在研究一个使用 YUI Compressor 的预提交钩子来缩小任何已准备提交的 CSS 和 JavaScript 文件。文件缩小后,缩小的版本会自动暂存以进行提交。我读过自动将机器生成的文件添加到提交中通常不是一个好主意,但我认为在这种情况下它是可以的。这是它的样子:

输出git status

输出git commit -m "Updated site-wide styling"

这里发生的是 pre-commit hook 使用 YUI Compressor 来缩小_site-wide.css,将结果输出到site-wide.css(没有前导下划线)。然后它上演site-wide.css提交。预提交钩子跳过了,_subpage.css因为尽管它已被修改,但它并没有被提交。

由于磁盘上的 CSS 和 JavaScript 文件可能与暂存于提交的 CSS 和 JavaScript 文件不同,因此我git stash -q --keep-index在压缩文件之前运行,然后在git stash pop -q之后运行。这个预提交钩子在已经有提交的存储库上工作得很好,但是如果我在第一次提交之前将预提交钩子放在适当的位置,我会得到这个:

输出git status

输出git commit -m "Initial commit"

输出git status

我现在将粘贴预提交挂钩的代码。请记住,为了灵活,我编写了这个脚本,以便它可以在任何 CakePHP 项目中运行,而不仅仅是具有 Git 存储库的项目。我还编写了它,以便您可以强制它缩小所有 CSS 和 JavaScript 文件,而不仅仅是暂存提交的文件。这是通过运行来完成的.git/hooks/pre-commit force。这是代码:

我怎样才能使这项工作?任何帮助,将不胜感激。

0 投票
2 回答
1233 浏览

git - 如何别名 git checkout && git stash apply

所以我有两个分支 master 和 formtest

我有一个 [别名] “git switch”,它可以让我存储任何正在进行的工作并检查另一个分支。

“混帐开关”

现在我想创建一个 [别名]

“git 切换”

运行时我想让它说

切换到这个分支“formtest”

然后运行 ​​stash apply

在我第一次运行“git switch”之前解开最后一个 WIP 并返回东西

0 投票
1 回答
403 浏览

git - 如何通过其哈希将无法访问的 git commit 添加到 stash

我有大量无法访问的提交的哈希(愚蠢clear的我在输入时尝试控制台git stash

我从 git fsck 弄乱了一堆这些哈希值

有什么简单的方法可以将xargs这些哈希返回到 git stash 中?

0 投票
1 回答
150 浏览

git - “git stash save -u”没有删除一些目录

这是我的情况:
假设我在分支 b1 工作。我写了一个文件 dir/f1.
然后我想把 dir/f1 的代码集成到 dir/f2 中,我不再需要 f1。
出于随机原因,我想保留 f1。
我从版本控制中删除了它,但它仍然在这里,未被跟踪。
如果我切换到分支 b2,f1 会出现编译错误,因为它没有与 b2 保持同步。
所以,我决定在切换之前在 b1 中 git stash -u,这样当我完成 b2 的工作时,我可以恢复我的上下文。
它几乎可以按预期工作:清理工作目录,隐藏所有内容(跟踪和未跟踪的文件,但由于我没有使用 -a 而不是忽略的文件),我可以 git stash 将它们应用回来。
唯一的问题是某些文件已从工作目录中删除,而其他文件则没有。消息是:

所以我的问题是:这种行为的原因是什么?git 如何决定在存储期间删除哪些文件,哪些不删除?

谢谢

0 投票
2 回答
117 浏览

git - 签出到另一个分支后文件丢失

我想将相同的变更集应用到两个不同的分支上。

这就是我所做的:

那行得通。file2 存在于两个分支上。但是如果我切换到另一个分支然后再回到主控,主控上不再存在 file2 了!为什么会发生,我该怎么办?我还有一个限制:应用隐藏更改后,我无法在 master 分支上调用 git commit。

git 版本 1.7.11.msysgit.0