删除了我试图提交的文件,没有消息

时间:2014-04-22 00:20:11

标签: git

我是一个新用户,试图提交并推送我的第一个.md文件。我搞砸了,试图在没有消息的情况下提交,给我一个致命的错误并将文件放在分阶段和非分阶段区域。

在线咨询说要删除它。我试过rm并得到了同样的致命错误信息。其他在线帮助说“物理删除”文件,并不确定这意味着我删除它并清空垃圾。

我不需要该文件。我很乐意重新开始。我只需要清理一下这个烂摊子然后重新开始。

我试图重置,我试过rm缓存。

这是git gui在东北象限的黄色区域中显示的内容:

Staged for commit, missing <file>
deleted file mode 100644
@@ -1 +0,0 @@
-## This is a markdown file
\ No newline at end of file

git status表示分支主服务器,初始提交,要提交的更改:(使用“git rm --cached to unstage”),然后将已删除的文件列为绿色的新文件,然后更改不进行提交,新建议添加/ rm或checkout(全部尝试过),并以红色列出已删除的文件。

我收到的错误消息是

fatal, unable to create project/.git/index.lock: file exists.

然后它说如果当前没有其他git进程正在运行,那么git进程可能会在之前的repo中崩溃,并且它建议我实际删除该文件。

我按照我的Coursera说明使用git bash,它不允许我按照我习惯的方式复制文本。我也有git gui,我正在检查git bash输出。这对我来说都是新的。我确定我错过了一些括号和/或引号,因为我试图输入我在错误消息中看到的内容。

我不知道shell是什么。我正在使用Windows 7。

我在这个仓库中没有任何其他文件,可以重新开始。不确定如何删除回购,但我可以查找,如果这是修复。

3 个答案:

答案 0 :(得分:1)

您提到这是第一次提交。如果您只想清理完全,最简单的方法是cd到您的目录(在git bash内),删除.git目录,并从一开始就开始运行你的指示。

警告:这将删除整个本地存储库,因此请确保您确实不需要它。

rm -rf .git

如果您位于纯粹的本地存储库中,并且想要重新初始化,则可以执行以下操作:

git init .
git add MyFile.md
git commit -m "Commit Message"

答案 1 :(得分:0)

所以看起来你最大的问题是它看起来像git结束了 崩溃并留下一个需要清理的脏index.lock文件 起来。由于您在存储库中没有任何其他内容,因此您也可以 删除该文件,位于项目的.git文件夹下,或者您可以 只需删除merlin's answer中建议的整个.git文件夹。

但是,假设您没有index.lock问题,请按以下步骤操作 如果再次发生,您可以解决问题。我已经复制了你的步骤 描述,我最终得到了这个:

$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   readme.md

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    readme.md

你可以从这里提交你的自述文件(因为它已经上演了), 或者您可以选择再次将其签入您的工作副本。工作副本 在这一点上并不重要,因为对于提交而言重要的是 什么在临时区域。

鉴于上述情况,您可以按任何顺序执行以下操作......无论哪种顺序 你选择,你会得到相同的结果:

git commit -m "Your commit message"
git checkout -- readme.md

如何复制&amp;从终端粘贴

以下是一些不相关但有用的复制和粘贴说明 Git Bash,因为你之前遇到了麻烦。

  1. 右键点击顶部的Git Bash窗口,然后选择Properties

    enter image description here

  2. Options下选择QuickEditInsert两种模式(我实际上并不确定你是否需要两种模式,但是我同时使用它们,并且一切正常我):

    enter image description here

  3. 按住鼠标左键并选择要复制的 区域

    enter image description here

  4. 右键单击将所选区域复制到剪贴板。您现在可以将其粘贴到任何您想要的位置:

    $ gs On branch master
    
    Initial commit
    
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
    
            new file:   readme.md
    

答案 2 :(得分:0)

错误消息&#34;无法创建&#39; C:/users/shannon/.git/index.lock' ;:文件存在&#34;与Cupcake这样描述的脏文件有关:&#34;所以看起来你最大的问题是它看起来像git最终崩溃并留下了一个需要清理的脏index.lock文件。 &#34;

修复程序是rm -f ./.git/index.lock。仅这一点就让我解决了其他问题。