问题标签 [unstage]

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 投票
4 回答
2934 浏览

git - 在 git 中取消暂存部分新文件的最快方法是什么?

当我想将一个新文件拆分为多个提交时git add -N <file>,我可以使用git gui. 但是,当我在暂存时出错时,git gui不会让我取消暂存个别行,因为它是一个新文件(对我来说这似乎是一个错误)。当然,我总是可以取消暂存整个文件并重新开始,但我想知道是否有更有效的方法可以这样做。

我正在使用git 1.7.5.


澄清一下,这个问题特定于新的又名未跟踪文件!

0 投票
1 回答
196 浏览

git - 如何撤消保留先前上演版本的“git add”?(索引有历史吗?)

我有一个类似于How to undo 'git add' before commit? ,但有一个重要区别:

背景:

我正在运行一些生成文件的代码,完成后我将添加到我的存储库中。生成文件的代码是新代码,并且在不断变化,所以我有时会多次运行它,并进行更改。

在此过程中,我将生成的文件添加到索引中,因此它们将为最后的一次大提交做好准备。这也允许我检查我对代码的更改是否会在输出中产生更改,如果是,这些更改是什么。但是......我不小心在一个文件上运行了另一个 git add ,该文件同时出现在Changes to be committed部分(作为 a new file部分Changes not staged for commit(作为modified)中。我打算在它上面运行一个 git diff ,但我滑倒并重新添加了它,所以现在我没有办法区分它(我知道),所以......

问题:

有没有办法只撤消最后的暂存操作,这样以前添加的版本仍然/再次在索引中,修改后的文件将再次在我的工作树中,以便我可以区分它?

这些都没有提交或任何东西,因为目标是在我完成这一小轮开发时将它们全部提交。我真的很喜欢 git 通常可以在新文件提交之前向我显示对新文件的更改......但是......我错过了一个机会,现在想知道是否有办法找回它。?

到目前为止,我查找的内容似乎能够让我回到上一次提交(无文件)或文件的当前状态(无论如何我都有),但不能回到上一次提交的中间状态索引中的版本,这从来都不是提交的一部分。任何关于这是否可能的提示(即使是一个可靠的答案,最好是解释为什么会这样)将不胜感激。

0 投票
2 回答
10249 浏览

git - 如何将推送的提交恢复为未暂存状态?

我试图寻找这个问题的答案,但没有找到任何与这个问题非常匹配的东西。如果已经有一个答案,请随时将我链接到答案。

我所做的是将大量更改作为一次提交提交并推送。不过,我没有将该推送合并到 master 中。我现在想回到我暂存任何东西之前的状态,所以我可以将更改暂存到单独的提交中。

我尝试使用推送的更改创建一个新分支(保存工作),删除原始远程分支(用户登录),然后将新分支合并到原始本地分支,但这只会让我回到我所在的位置现在,用户登录分支不包含任何要添加/提交的内容。

那么如何取回所有这些更改,以便我可以单独查看和暂存它们(使用 git add -p)?

0 投票
3 回答
4107 浏览

git - Git unstage 不会丢失合并?

我有一个包含数百个新文件和不同文件的分支,我只想将其中的十几个合并到我的发布分支中。我尝试运行一个没有提交的普通 git merge,它自动暂存了数百个我不想要的文件(除了发现几十个需要手动合并的冲突。)然后我尝试做一个 git revert 来取消暂存所有自动合并的文件文件,只需将我想要的那些添加回索引,但这也会中止合并并将所有冲突标记留在文件中。我以为我可以只运行合并工具,但它现在无法识别冲突标记...

我是在以完全错误的方式解决这个问题……还是我遗漏了什么?

0 投票
1 回答
59 浏览

git - 突然关闭后留下未分阶段的更改

我正在使用 git-scm 开发一个 git 存储库。

在选择要提交的未暂存文件时,我的笔记本电脑由于电池电量不足而突然关闭。重新启动后,即使更改仍在文件中,我所有未暂存的更改都消失了。

有什么解决办法吗?

0 投票
3 回答
13731 浏览

git - git reset vs git reset HEAD

每次暂存文件时,Git 都会在您需要取消暂存文件时提供有用的说明:

(use "git reset HEAD <file>..." to unstage)

然而,Atlassian的不错的Git 教程只是简单地说:

git reset <file>

这似乎更直接,那么为什么有区别呢?

0 投票
1 回答
1653 浏览

git - git尝试上传未暂存的已删除文件

我有一个F超过 100 MB 限制的文件,我试图推送。所以推送失败了。然后我删除了该文件,因为它无法被推送并假设我需要一次又一次地add . ; commitpush。在自动生成的提交中它说deleted file F。在push它仍然试图上传该文件。好吧,所以我想我需要取消暂存F。所以我做到了reset F。我收到消息fatal: ambiguous argument 'out': unknown revision or path not in the working tree.不知道这意味着什么,所以我尝试让 git 向我显示暂存文件diff --cached,但输出为空。我对这种情况以及如何解开它感到困惑。

回顾一下链条:

$> git add. ; git commit

$> git push

$> remote: error: File F is 143.41 MB; this exceeds GitHub's file size limit of 100.00 MB

$> rm F

$> git add. ; git commit

$> git push

$> remote: error: File F is 143.41 MB; this exceeds GitHub's file size limit of 100.00 MB

$> git diff --cached

$>

0 投票
2 回答
1795 浏览

git - 如何让我一次提交完成更改?

我在本地 git fork 中进行了很多更改,我这样做:

  1. git add -A
  2. git commit -m "commit message"
  3. 从上游 master 拉取更改
  4. 变基
  5. git push到我的原点

现在碰巧在我以前的提交和我的新提交之间还有其他几个提交(来自其他人)。

我想在我的新提交中看到我所做的所有更改并继续努力。所以,我愿意

它显示了我和其他人修改的文件。

问题:

  1. 查看仅由我修改的文件的方式是什么?
  2. 然后文件显示为已修改,是否可以取消暂存它们?我想在我这样做的时候看到变化git diff
0 投票
1 回答
97 浏览

git - Git - 意外 git checkout 特定文件后如何从文件中恢复代码更改

我不小心做了结帐文件。该文件有代码更改。

那么我可以恢复这些变化吗?

0 投票
1 回答
205 浏览

git - 签出不同分支时删除 git 中未暂存的、未提交的文件

我删除了特定分支的本地和远程分支

当我签出一个不同的分支时,当我运行git status.

这些文件没有我想要保留、暂存或提交的任何更改。git status当我在不同的分支上跑步时,我不想看到他们坐在该区域

git status当我在结帐的任何分支上运行时,我想看到这个

有没有办法做到这一点,如果是这样,那是如何做到的?