2

我有一个本地存储库,我需要返回并更改提交的内容。我需要这样做的原因是因为在提交中我添加了一个已删除到提交的文件,这毕竟不是我想要做的。我想用原来的名字把它保存在那里。

以下说明正在为我的本地存储库本地处理我的开发分支。

初始提交是 Laravel 5.2 默认安装中的所有文件。我一直被告知将 .env.example 文件更改为 .env 但是我不知道的是,像这样包含这个文件也是一个好主意,这样如果有人要分叉它,他们就会知道什么环境他们需要在应用程序中包含的变量。

在我的第二次提交中,我将文件重命名为 .env 但是对于开发分支,我想将文件保留在开发分支中。

我怎样才能回到第二次提交并删除我已删除该文件的事实?

4

2 回答 2

0

修改最近的提交

git commit --amend

修改以前的提交,和/或多个

git rebase

这两个在其他地方都有很好的文档记录,快速搜索或git help将向您显示文档。

于 2016-02-21T18:04:44.027 回答
0

好的,假设文件被调用filename并且您删除它的提交是abc123. 运行以下命令:git rebase -1 abc123~. 这将弹出您的编辑器,其中包含以 . 开头的所有提交abc123。在第一行,将“pick”更改为“edit”,然后关闭编辑器。Git 将重播abc123,然后停止。此时,使用 恢复您的文件git checkout head~ -- /path/to/filename,然后使用 修改提交git commit --amend -C head。然后,Git 将重播您的其余提交,您应该没问题。

于 2016-02-21T18:01:24.383 回答