【问题标题】:Get files from previous git commit从之前的 git commit 中获取文件
【发布时间】:2015-09-12 21:36:57
【问题描述】:

对不起,如果这个问题听起来很愚蠢。

所以,我正在关注 Michael Hartl 的 Rails 教程。

直到第 8 章结束,一切正常。

但我在第 9 章中犯了一些我无法弄清楚的错误。

所以,我想回到我在第 8 章末尾所做的提交,让一切重新开始工作并从这里重新开始。

换句话说,我想删除自上次提交以来所做的所有事情,并(重新)在第 9 章开头重新开始。

根据日志,这是我需要从以下位置“检索”文件的提交:

Computer:microblog TXC$ git log
commit dd0d9e82e802b18e5ba1000eff743445183bcc56
Author: thibaudclement <email@example.com>
Date:   Wed Jun 24 18:02:13 2015 -0700

    Finish log in/log out

我尝试从当前updating-users 分支和git delete 分支git checkout,我尝试从远程git pull,我尝试git reset hard 到所需的提交(如此处所述:@ 987654321@),但我无法让我的本地文件看起来像第 8 章末尾的那样。

我怎样才能简单地从我的本地存储库中获取来自上述Finish log in/log out 提交的文件?

【问题讨论】:

  • 所以“更新用户”是第 8 章的专用分支?
  • 另外,你是否在每章之后将所有内容合并到主分支中?
  • 'updating-users' 是第 9 章(我犯了错误的那个)的专用分支。 “完成登录/注销”是我为第 8 章所做的最后一次提交(一切正常)。
  • 是的,我将在每章末尾将所有内容合并到 master 分支中。我在第 8 章结束时这样做了,但在第 9 章还没有这样做(幸运的是),因为它不能正常工作。
  • 酷!感谢您的快速回复。我正在添加一个答案,请仔细阅读,如果它适合您,请告诉我。

标签: ruby-on-rails git github version-control railstutorial.org


【解决方案1】:

如果git reset --hard commit_id 不起作用,请尝试以下操作:

  1. 使用以下方法丢弃任何未暂存的更改:

    git reset --hard

  2. 结帐到主分支

    git checkout master

  3. 删除主题分支“更新用户”

    git branch -D updating-users

  4. 为第 9 章重新创建一个分支

    git checkout -b "name-of-the-branch"

我假设您在每章之后将主题分支合并到主分支。

【讨论】:

    猜你喜欢
    • 2017-01-05
    • 2012-02-15
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2010-11-23
    • 1970-01-01
    相关资源
    最近更新 更多