【问题标题】:Modifying A Previous Commit From Git Tower从 Git Tower 修改以前的提交
【发布时间】:2016-02-21 17:10:23
【问题描述】:

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

以下说明是在本地存储库的本地开发分支上工作。

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

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

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

【问题讨论】:

  • 你可以从命令行git commit --amend看到:git-scm.com/docs/git-commit
  • 这会改变我在那次提交之后所做的任何其他提交,或者我的工作文件中尚未提交的内容吗?
  • 这很好,但没有告诉我任何关于修改以前提交的内容。
  • 我想这么多,但对于那些在未来某个时间偶然发现这个问答的人来说。我觉得把披露放在那里让他们看到很重要:-)跨度>

标签: git git-tower


【解决方案1】:

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

【讨论】:

  • OP 在询问 Tower。
【解决方案2】:

修改最近的提交

git commit --amend

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

git rebase

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

【讨论】:

  • OP 在询问 Tower
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2012-10-14
相关资源
最近更新 更多