Git:忘记提交然后重新发送

时间:2017-10-24 02:32:00

标签: git version-control rebase

TL; DR让git“忘记”提交给当地的未完成的提交。

Hello Folks,

我有一个git设置。以下是逐步格式的问题:

  1. 创建一个包含10 + MB文件的子项目
  2. git add。
  3. git commit -a -m“blah blah”。
  4. 弄清楚这个文件根本不应该在Git中。
  5. 通过添加以下行largefiledir /
  6. 来修改.gitignore

    所以,现在我的git领先于master,通过提交。我希望git忘记这个提交,然后重做“git add。/ git commit”进程,好像它在WHILE遵守修改后的.gitignore文件之前从未见过更新的文件。

    我究竟如何理解这一点?我为我的问题道歉,但我遇到了一些关于使用“git rebase”的帖子,上次我尝试了这个帖子,最后我扔掉了我的工作目录并再次从主人那里退房。

    非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

如果你仍然没有在遥控器中推送你的提交,你可以

git reset HEAD~

确保git status并检查它是否干净

要添加,在提交并将更改提交到远程存储库之前,最好从工作分支git pull更改git rebase

您可以参考此链接https://www.atlassian.com/git/tutorials/merging-vs-rebasing

答案 1 :(得分:0)

首先,您应该清理工作目录(如果您现在没有提交更改,请删除未跟踪的文件.gitignore)。然后使用git status来仔细检查工作树是否干净。

然后你可以使用

git reset HEAD~

它会将HEAD重置为上次提交,同时将子项目保留为git仓库中的未提取文件。