在将 github 中的某个人的整个项目分叉到我的本地驱动器后,如何将其回滚到其初始状态?
How can I roll back someone's entire project in github to its initial state after forking it to my local drive?
有没有办法不回滚每个提交而是到项目的最开始?
那我想一步一步commit,看看作者做了什么改动?
这种情况下的工作流程是什么?
我觉得git checkout
应该是你的朋友。
克隆存储库后你可以做
git checkout -B master shainitialcommit
将分支 master
重置为该提交。然后您可以以类似的方式检查每个后续提交。
如果您只想查看逐个提交的更改(而不是与代码交互),有许多 diff 工具可以做到这一点(或者您可以使用
git log | tail
将显示初始提交,每个提交的提交 ID 如下所示:
commit e73188b5512c82290a4070af4afddac20d0b981e
然后
git checkout e73188b5512c82290a4070af4afddac20d0b981e
Git 将使用此提交作为其当前状态,提交之前的任何文件都将
仍然存在,但被 git 视为 "untracked"。然后你可以清理场景:
git clean -fd
这将清除任何不处于提交状态的文件,然后您 return 直到该提交的状态,并通过 git 日志列表,您可以到达任何您想要的点,通过签出相邻的提交,您可以查看更改。或者您可以在 git 中看到不同之处:
git diff commit-id1 commit-id2
尝试使用:
git log --reverse
它将在顶部显示第一个提交。然后你可以在第一次提交时签出或者只检查提交的外观:
git show <hash_id>
有没有办法不回滚每个提交而是到项目的最开始? 那我想一步一步commit,看看作者做了什么改动?
这种情况下的工作流程是什么?
我觉得git checkout
应该是你的朋友。
克隆存储库后你可以做
git checkout -B master shainitialcommit
将分支 master
重置为该提交。然后您可以以类似的方式检查每个后续提交。
如果您只想查看逐个提交的更改(而不是与代码交互),有许多 diff 工具可以做到这一点(或者您可以使用
git log | tail
将显示初始提交,每个提交的提交 ID 如下所示:
commit e73188b5512c82290a4070af4afddac20d0b981e
然后
git checkout e73188b5512c82290a4070af4afddac20d0b981e
Git 将使用此提交作为其当前状态,提交之前的任何文件都将 仍然存在,但被 git 视为 "untracked"。然后你可以清理场景:
git clean -fd
这将清除任何不处于提交状态的文件,然后您 return 直到该提交的状态,并通过 git 日志列表,您可以到达任何您想要的点,通过签出相邻的提交,您可以查看更改。或者您可以在 git 中看到不同之处:
git diff commit-id1 commit-id2
尝试使用:
git log --reverse
它将在顶部显示第一个提交。然后你可以在第一次提交时签出或者只检查提交的外观:
git show <hash_id>