Github克隆以前的配置

3

我是一名Git新手,无法真正理解类似问题的答案。很抱歉。几个月前我犯了一个严重的错误,需要获取以前的版本并将其变成当前版本。由于我找不到优雅的方法来完成这个任务,所以我通过暴力方式来做 - 下载一个包含我想要的版本的zip文件,然后解压它并使用提交和推送来使它成为最新版本。如果SHA是我想要“提升”的版本的标识符,则Git CLI命令应该是什么?

2个回答

1
在克隆您的代码库之后,进入该目录并从git日志中检查SHA id:
尝试:
git log

然后:

# Resets index to former commit; replace '<commit_id>' with your commit code
git reset <commit_id>

# Moves pointer back to previous HEAD
git reset --soft HEAD@{1}

git commit -m "Revert to <commit_id>"

# Updates working copy to reflect the new commit
git reset --hard

更多信息,请访问此链接: 如何将Git存储库还原到以前的提交?


我刚在答案 0 上发表了评论,但似乎它正好做到了我想要的,将最后一个好的文件置顶,并且不影响其余的“堆栈” - 这样对吗? - dms489
是的,没错。@dms489。 顺便说一下,你也可以通过执行 git checkout -b <new branch name> <commit_id> 命令来创建一个新分支,而不影响旧分支。然后你可以对 <new branch name> 进行任何操作。 - MD Ruhul Amin

1
  1. 使用git log获取要获取的提交的SHA-1哈希值。
  2. git reset --hard [your_commit_hash]
  3. git push --force

警告:这将完全擦除您从git reset到的提交以来所做的所有提交!


谢谢您的快速回复。我不介意失去所有中间版本,但希望保留最新的坏事件作为参考。所以我有两个SHAs — SHA_last_good和SHA_latest_bad。当我完成时,我想把SHA_last_good放在"堆栈"顶部,而SHA_latest_bad位于其下方。这可能吗? - dms489
在这种情况下,您可以使用 git resetgit push --force 来恢复最新的错误提交,然后再次使用您的强制方法提交最新的好提交。 - Ronan Boiteau
你可以通过在那里放置一个分支来保存糟糕的提交历史。直觉上,这可能是你想做的事情。 - Mad Physicist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接