代码之家  ›  专栏  ›  技术社区  ›  ERJAN

在将某人在github中的整个项目转移到本地驱动器后,如何将其回滚到初始状态?

  •  1
  • ERJAN  · 技术社区  · 7 年前

    有没有办法回滚不是每个提交,而是 从一开始 项目的? 然后我想一步一步地提交,看看作者做了什么改变?

    在这种情况下,工作流是什么?

    3 回复  |  直到 7 年前
        1
  •  2
  •   Shalen    7 年前
    git log | tail 
    

    将显示初始提交,每个提交id如下:

    commit e73188b5512c82290a4070af4afddac20d0b981e
    

    然后

    git checkout e73188b5512c82290a4070af4afddac20d0b981e
    

    Git将使用此提交作为其当前状态,提交之前的任何文件都将 仍然存在,但被git视为“未跟踪”。然后可以使用以下工具清理场景:

    git clean -fd
    

    这将清除任何未处于提交状态的文件,然后返回该提交之前的状态,通过git日志列表,您可以达到任何想要的点,通过签出相邻的提交,您可以查看更改。或者您可以在git中看到不同之处:

    git diff  commit-id1 commit-id2
    
        2
  •  1
  •   Shalen    7 年前

    git checkout 应该是你的朋友。

    克隆存储库后,您可以执行以下操作

    git checkout -B master shainitialcommit
    

    master 做出承诺。然后,您可以以类似的方式签出每个后续提交。

    如果您只想逐个提交更改(而不是与代码交互),那么有许多diff工具可以实现这一点(或者您可以使用

        3
  •  1
  •   Mariusz    7 年前

    git log --reverse

    它将在顶部显示第一次提交。然后,您可以只在第一次提交时签出,也可以只检查提交的外观:

    git show <hash_id>