问题标签 [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.
git - 在 git 中取消暂存部分新文件的最快方法是什么?
当我想将一个新文件拆分为多个提交时git add -N <file>
,我可以使用git gui
. 但是,当我在暂存时出错时,git gui
不会让我取消暂存个别行,因为它是一个新文件(对我来说这似乎是一个错误)。当然,我总是可以取消暂存整个文件并重新开始,但我想知道是否有更有效的方法可以这样做。
我正在使用git 1.7.5
.
澄清一下,这个问题特定于新的又名未跟踪文件!
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 通常可以在新文件提交之前向我显示对新文件的更改......但是......我错过了一个机会,现在想知道是否有办法找回它。?
到目前为止,我查找的内容似乎能够让我回到上一次提交(无文件)或文件的当前状态(无论如何我都有),但不能回到上一次提交的中间状态索引中的版本,这从来都不是提交的一部分。任何关于这是否可能的提示(即使是一个可靠的答案,最好是解释为什么会这样)将不胜感激。
git - 如何将推送的提交恢复为未暂存状态?
我试图寻找这个问题的答案,但没有找到任何与这个问题非常匹配的东西。如果已经有一个答案,请随时将我链接到答案。
我所做的是将大量更改作为一次提交提交并推送。不过,我没有将该推送合并到 master 中。我现在想回到我暂存任何东西之前的状态,所以我可以将更改暂存到单独的提交中。
我尝试使用推送的更改创建一个新分支(保存工作),删除原始远程分支(用户登录),然后将新分支合并到原始本地分支,但这只会让我回到我所在的位置现在,用户登录分支不包含任何要添加/提交的内容。
那么如何取回所有这些更改,以便我可以单独查看和暂存它们(使用 git add -p)?
git - Git unstage 不会丢失合并?
我有一个包含数百个新文件和不同文件的分支,我只想将其中的十几个合并到我的发布分支中。我尝试运行一个没有提交的普通 git merge,它自动暂存了数百个我不想要的文件(除了发现几十个需要手动合并的冲突。)然后我尝试做一个 git revert 来取消暂存所有自动合并的文件文件,只需将我想要的那些添加回索引,但这也会中止合并并将所有冲突标记留在文件中。我以为我可以只运行合并工具,但它现在无法识别冲突标记...
我是在以完全错误的方式解决这个问题……还是我遗漏了什么?
git - 突然关闭后留下未分阶段的更改
我正在使用 git-scm 开发一个 git 存储库。
在选择要提交的未暂存文件时,我的笔记本电脑由于电池电量不足而突然关闭。重新启动后,即使更改仍在文件中,我所有未暂存的更改都消失了。
有什么解决办法吗?
git - git reset vs git reset HEAD
每次暂存文件时,Git 都会在您需要取消暂存文件时提供有用的说明:
(use "git reset HEAD <file>..." to unstage)
然而,Atlassian的不错的Git 教程只是简单地说:
git reset <file>
这似乎更直接,那么为什么有区别呢?
git - git尝试上传未暂存的已删除文件
我有一个F
超过 100 MB 限制的文件,我试图推送。所以推送失败了。然后我删除了该文件,因为它无法被推送并假设我需要一次又一次地add . ; commit
做push
。在自动生成的提交中它说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
$>
git - 如何让我一次提交完成更改?
我在本地 git fork 中进行了很多更改,我这样做:
git add -A
git commit -m "commit message"
- 从上游 master 拉取更改
- 变基
git push
到我的原点
现在碰巧在我以前的提交和我的新提交之间还有其他几个提交(来自其他人)。
我想在我的新提交中看到我所做的所有更改并继续努力。所以,我愿意
它显示了我和其他人修改的文件。
问题:
- 查看仅由我修改的文件的方式是什么?
- 然后文件显示为已修改,是否可以取消暂存它们?我想在我这样做的时候看到变化
git diff
。
git - Git - 意外 git checkout 特定文件后如何从文件中恢复代码更改
我不小心做了结帐文件。该文件有代码更改。
那么我可以恢复这些变化吗?
git - 签出不同分支时删除 git 中未暂存的、未提交的文件
我删除了特定分支的本地和远程分支
当我签出一个不同的分支时,当我运行git status
.
这些文件没有我想要保留、暂存或提交的任何更改。git status
当我在不同的分支上跑步时,我不想看到他们坐在该区域
git status
当我在结帐的任何分支上运行时,我想看到这个
有没有办法做到这一点,如果是这样,那是如何做到的?