【问题标题】:Commit unstaged deleted files提交未暂存的已删除文件
【发布时间】:2020-11-04 09:04:53
【问题描述】:

我丢失了一些本地文件,但我的未推送“提交”中仍然有它们。当我尝试“git push”它们时,“Writing objects”卡在 20%。

据我所见,我的提交可能太大而无法推送,http.postBuffer 没有修复它,所以我正在考虑将我的提交分成几个部分。

我尝试了git rebase -i master 命令,但收到了Cannot rebase: You have unstaged changes. 消息。

由于我的文件被删除,我不能真正执行“提交”,因为它会用已删除的文件覆盖我提交中的现有文件。有没有办法推送文件?

【问题讨论】:

  • 尝试存储,以便清理您的树,然后尝试运行变基。 git stash save "will come back in a few minutes"
  • 可能是我不完全了解情况,但您能简单地取消暂存文件吗?这应该用文件的暂存版本覆盖工作目录,覆盖当前工作目录中的“删除”。 (即git rm --cached我认为是这个的命令行版本)

标签: git git-commit git-push


【解决方案1】:

如果您将遥控器切换到use ssh,http.postBuffer 问题可能会消失。 git remote set-url origin git@github.com:<org/user>/<repo>.git.


为了能够变基,您需要清除暂存区。

您可以stash your unstaged changes 稍后检索它们。

或者您可以使用诸如“WIP”(正在进行的工作)之类的消息来提交它们,变基,然后使用git reset --soft HEAD^“重做”提交。这将删除最后一次提交并将其更改返回到您的暂存区域。

【讨论】:

    猜你喜欢
    • 2020-07-18
    • 2012-09-04
    • 2012-08-11
    • 2019-05-06
    • 2014-09-14
    • 2017-08-26
    • 2012-03-24
    • 2015-07-11
    • 2012-07-29
    相关资源
    最近更新 更多