问题标签 [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 回答
84 浏览

git - 有哪些可能的方式来引用 git stash?

git stash show stash@{x}

x 可以取什么值(除了指向存储序列号的整数)?

0 投票
2 回答
5982 浏览

git - git stash 和 pop 显示文件不再标记为已移动?

如您所见,git 在 stash / pop 之后失去了重命名的关系。有没有办法恢复这种关系,或者让 stash 知道文件被移动了?我经常隐藏以查看我的系统状态是什么样的预更改,但是让它失去重命名关系对我来说是个问题。除了删除新文件,再次执行 git mv 并替换新文件的内容之外,我不知道如何修复它。

0 投票
15 回答
157093 浏览

git - 在 Git 中中止 stash pop

我弹出了一个存储,并且发生了合并冲突。与列为重复的问题不同,我已经在我想要保留的目录中进行了一些未提交的更改。我不仅想让合并冲突消失,还想让我的目录恢复到弹出之前的状态。

我试过git merge --abort了,但 git 声称没有进行合并。有没有一种简单的方法可以在不破坏我最初在目录中所做的更改的情况下中止弹出?

0 投票
5 回答
15719 浏览

git - `git stash` during a merge conflict

We've done something bad.

We ran git stash save during a merge conflict, and now we can't restore our work.

Things we've tried:

And:

Please help!

0 投票
1 回答
4784 浏览

git - TortoiseGit:“存储 POP 失败!!!” 重复,即使在解决冲突之后

我正在使用 TortoiseGit 处理具有远程来源的存储库。我经常不得不在一项更改中停下来处理另一项更改,因此我使用存储功能来封锁我暂停的开发,进行更直接的更改,提交这些更改,推送,然后返回我的存储。

随着时间的推移,这导致了一些隐藏的更改,我试图立即弹出所有这些更改。

前几个存储弹出工作正常。藏匿起来,承诺并重复。但是,最后一个导致错误消息“Stash POP Fail!!!” (天哪!三个感叹号!!!)错误下方的文本表明我试图弹出的文件之一存在合并冲突。

当我在拉取后发生冲突时,我做了我所做的事情:我对冲突文件进行了编辑以解决问题,告诉 git 我已经解决了冲突,最后提交了更改。

但是,再次执行 stash pop 会导致相同的错误,并且尝试解决差异表明 git 正试图从 stash 中提取相同的更改。当我第二次解决冲突并尝试提交时,git 告诉我没有任何改变,因此没有什么可提交的。

最终,为了解决这个问题(并进入更深的藏匿处),我在 SO 上找到了这个有点类似的问题,并在接受的答案的底部一直接受建议。我打开了一个 git bash 提示符并做了一个git stash drop删除导致问题的存储。

我的问题是:

  1. 这是解决问题的最佳方式,还是有一种更直观的方式——理想情况下不会让我担心我会丢弃隐藏的更改?
  2. 如果这是最好的方法,有没有办法在 TortoiseGit 中进行隐藏?我很高兴有 GUI 工具向我展示我正在合并/丢弃的差异,因此尽量避免使用 git 恢复到命令行。
0 投票
5 回答
32339 浏览

git - 如何在git中组合多个存储

frontend这是过去两周在分支上的管道。

| Stash@{3}是所有代码,因为Stash@{1}(不包括两个微小的提交)
| 微小的承诺
| 微小的承诺
| 两周前的大批量提交,现在重新定位并移至Stash@{1}

我的工作树目前很干净。
Stash@{1}是两周前大量提交一般开发代码的内容(这应该首先被隐藏)。此提交已撤消并移至隐藏。
Stash@{3}是那棵树上的最新作品Stash@{1}(减去一些已提交的更改)。

我需要在我的工作树中将这两个 stash 组合在一起,这样我就可以从这个庞大的工作池中进行一些提交。

我跑了git stash apply stash@{1}然后我尝试了:

git stash apply stash@{3}
git stash show -p | git stash apply stash@{3}

但在这两种情况下我都会得到“肮脏的工作树”。我怎样才能将这项工作合并在一起?因为stash@{3}较新,所以我希望它取代stash@{1}任何有冲突的地方。

0 投票
1 回答
44241 浏览

git - 中止`git stash apply`

我很遗憾应用了 stash(错误的分支)。如何撤消此操作并将我的存储返回到我的存储列表,以便稍后在正确的分支上应用它?

0 投票
1 回答
350 浏览

git - Git使用冲突表示法应用存储

听起来可能很奇怪,但有时在一些快速而肮脏的黑客攻击中,我希望更改文件以反映先前版本和隐藏后的更改git stash apply

Git 使用此表示法来手动解决冲突;我不一定要寻找,我想要的只是一种在我的编辑器中拥有两个版本而不使用任何外部合并工具的方法。

也许使用编辑器的功能而不是 Git 本身可以更好地获得这一点,在这种情况下,我使用的是 Emacs。

0 投票
3 回答
26307 浏览

git - Git在日志中显示所有分支(但不是存储)

我有一个 Git 别名,可以扩展为:

根据man git log有几个可疑的选项:--not--branches; 但我不能让它正常工作。

我应该如何编辑它以隐藏藏匿处?


仅供参考:根据接受的问题评论,我的.gitconfig别名现在如下所示:

0 投票
2 回答
15558 浏览

git - Git:如何签出忽略所有本地更改的分支?

在我弄乱了目录(创建/删除)并添加/编辑了文本和二进制文件之后,我如何告诉 git 丢弃我的所有更改,并再次关闭分支,就好像我从来没有搞砸过任何事情一样?

目前我正在执行这两个命令。

这似乎有效。我在帮助中读到 -f 用于丢弃本地更改。如果是这样的话...

做同样的事?

谢谢!