拉/取后,代码不会构建。我只想恢复到我知道正确构建的版本。查看文档和进行网络搜索,我还没有找到这个真正基本问题的答案。如果我知道过去构建的代码版本,我是否必须删除当前的克隆,并完全重做克隆?如何指定我想要的版本" pull"在克隆命令?
我讨厌GIT。
答案 0 :(得分:1)
首先,让我推荐优秀的Git book;如果你花时间阅读它并进行一些示例练习,你将来会为自己节省一些很多的痛苦。相信我,你认为你现在讨厌git?如果你没有坚实的基础,那么你会有很多令人讨厌的惊喜。
无论如何,关于手头的问题。假设最后一次正确构建代码是在提交abc123
,只需执行git checkout abc123
。现在,您的工作副本将与该提交的内容相匹配。如果您没有计划修改代码的快照,那就是您需要做的全部。
但是,如果您执行想要修改代码,那么您将希望在分支上执行此操作。假设您要将分支称为“myBranch”。键入git checkout abc123 -b myBranch
,它将在该提交时创建myBranch
并切换到它。那么你未来的提交将在那个分支上。完成后,您需要将myBranch
合并到主分支中;假设主分支为master
,您将git checkout master
后跟git merge myBranch
。
答案 1 :(得分:0)
Git并不像你习惯的那样工作。颠覆。当您克隆时,您不会获得当前版本,您将获得所有版本。因此,指定要克隆的版本没有意义。您已经在本地系统上拥有所需的版本,而不是您可以阅读的格式。你只需要"退房"那个版本。
通常我可能会建议您为实现这一目标而需要运行的命令,但从您的问题来看,我的印象是,最好先启动一个让您查看历史记录的GUI,让您选择一个特定的提交,并让你看看那个版本。这是核心功能,几乎所有GUI都以合理直观的方式直接支持它。我建议使用GUI的原因是,获取结帐结果的视觉反馈可以让您更好地了解Git正在做什么。
答案 2 :(得分:-1)
一位同事解释了我需要使用的语法。我仍然没有在任何地方找到这种语法的文档。也许它特定于这个特定的环境,我不知道。这只是“git checkout r1234”。简单。我不觉得傻瓜。