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

git - git stash pop:避免 stash drop 和 un-staging 步骤

有时在运行时git stash pop会出现需要解决的合并冲突。当我必须在切换分支之前/之后存储/弹出时,这种情况经常发生。

处理这些冲突是没有问题的,但这有两个烦人的副作用:

  1. 来自 stash 的所有更改现在都已暂存且必须取消暂存

  2. stash@{0}没有被丢弃,必须手动丢弃

寻找有关如何使此过程更顺畅的建议。

0 投票
5 回答
13656 浏览

git - Git command to save a stash without modifying working tree?

I have been wanting to use a git command that saves a stash without modifying my working tree, as a lightweight backup that's safe from any git resets or whatever I might do to screw up my index. Basically the functional equivalent of "git stash save && git stash apply" except that the working copy is never touched, since this can make certain text editors/IDE's cranky.

Something like this is approaching what I want, but not quite:

This works functionally, but the issue I'm having is that no stash message shows up in "git stash list" even though the actual stash commit does have my message in it. Considering how large a stash can get, stash messages are pretty important.

0 投票
1 回答
3802 浏览

git - Git Stash 和 Worktree 问题

我有一个很好的时间让 git 与我的用户定义的工作树合作,该工作树存在于包含我的 .git 目录的文件夹之外。

基本上设置是这样的:我有两个目录,一个名为“git-worktree”,其中包含我要跟踪的文件,另一个名为“git-dir”,其中包含存储库的 .git 文件夹,即 GIT_DIR。

我通过cd进入文件夹“git-dir”并运行来初始化存储库:

这成功地初始化了存储库,当我在“git-dir”文件夹中时,我可以添加工作树中的文件,运行 git status 并提交它们。凉爽的。

当我尝试运行 git stash 时,这里的踢球就来了,它给我一个错误的耳光:

现在这是 BS,因为我知道(或至少我认为)我将工作树设置为包含我要跟踪的文件的“git-worktree”文件夹。

git config --local -l 显示以下内容:

我什至尝试手动将 .git 文件夹添加到本地配置文件中,看看是否有帮助,但无济于事。

现在来了踢球者。如果我将工作树设置为 git-dir 的父目录,则Git stash 将起作用,例如,如果我将工作树设置为我的主目录。

所以我对你们的问题是我缺少什么设置来告诉 git 允许我的工作树存在于文件系统上的任何位置,而不仅仅是沿着 git-dir 的父路径备份到根目录?当然,必须有一种方法可以将您的 git-dir 和您的工作树放置在您想要的任何地方,并且在告诉 git 它们在哪里之后一切正常?非常感谢您的阅读。任何见解将不胜感激。

0 投票
3 回答
120562 浏览

git - 撤消意外的 git stash pop

我在进行复杂的合并之前隐藏了一些本地更改,进行了合并,然后愚蠢地忘记在运行之前提交git stash pop。流行音乐产生了一些难以追踪的问题(大型代码库中的错误方法调用)。我跑了git stash show,所以我至少知道哪些文件被更改了。如果不出意外,我想这是一个教训,要付出更多。

我的问题:是否可以在不撤消合并的情况下撤消存储弹出?

0 投票
2 回答
567 浏览

git - 在 git filter-branch --subdirectory-filter 之后保留存储

我最近bigproj使用git filter-branch --subdirectory-filter deep/in/my/project. 然后,我将.git目录移动到deep/in/my/project.

现在,stash 处于一种奇怪的状态,顶部的 stash 类似于:

我无法删除此存储,因为我收到此错误(之后git stash drop):

现在,即使我知道 stash@{1} 的 refid,它仍然包含bigproj层次结构中文件的差异。是否可以重写存储数据,使其仅包含属于deep/in/my/project层次结构的文件?

0 投票
9 回答
60754 浏览

git - 在 git 中止当前更改后切换分支

我克隆了一个 git repo,然后开始在它的 master 分支中玩耍。过了一会儿,我想忽略我刚刚所做的更改(不提交它们),并切换到不同的分支。但是,它阻止我切换,因为有未提交的更改。我如何在不隐藏它们的情况下忽略它们?这就是发生的事情:

0 投票
2 回答
7087 浏览

git - git stash 无法应用保存的更改

我尝试使用以下命令保存 git 状态:git stash save changes_1。我可以使用以下命令查看存储列表: git stash list

但是当我尝试使用以下命令应用存储时:git stash apply stash@{0}。现在,我看不到任何更改正在使用 git diff 进行更新。它显示消息“已经更新!”

因此,简而言之 git stash 无法应用保存的更改。任何帮助。

0 投票
14 回答
71253 浏览

git - 如何在 Git 中仅存储未暂存的更改?

我想使用这个工作流程:

  1. 阶段性的一些变化。
  2. 将未暂存的更改保存到存储中。
  3. 对阶段中的事物做一些事情(构建、测试等)。
  4. 犯罪。
  5. 恢复未暂存的更改。

有没有办法做第2步?

例子:

0 投票
14 回答
467897 浏览

git - Git diff 与 stash

如何查看取消存储将对当前工作树所做的更改?我想知道在应用它们之前会进行哪些更改!

0 投票
4 回答
58946 浏览

git - 解决 Git 合并冲突

Git 存储库已被克隆到多个开发人员的本地计算机上。对存储库中的代码进行了一些更改。我们现在收到错误:

我在网上阅读了很多主题,并提出了几种不同的选择。运行了一种方法:

我想我了解存储的基本原理。我的问题是,这是一个好的解决方案吗,我可以使用这种方法遇到任何问题吗?总的来说,我对 Web 开发有一个合理的理解,但我是一个相当基本的 Git 用户,目前没有太多能力让自己摆脱困境。