带?w=1的Commit链接执行git reset/checkout报错,如何解决?
解决Git使用带?w=1的Commit哈希执行reset/checkout报错的问题
你遇到的错误是因为?w=1并不是Commit哈希的一部分——它是代码托管平台(比如GitHub)的URL参数,作用是让页面显示Commit内容时忽略空格差异。Git会把?w=1误判为路径参数,所以触发了fatal: Cannot do hard reset with paths的错误。
正确的操作方式很简单,只需要去掉?w=1,使用纯Commit哈希执行命令:
执行git reset --hard
git reset --hard 7245bff300d3fa8bacbef7897ff080a6f1c23eba
执行git checkout
git checkout 7245bff300d3fa8bacbef7897ff080a6f1c23eba
另外提醒:从代码托管平台复制Commit信息时,注意只提取链接中的哈希部分,不要附带后面的URL参数。比如平台的Commit链接可能是https://xxx/commit/哈希值?w=1,你只需要取哈希值这一段即可。
内容的提问来源于stack exchange,提问作者evgenii ershenko
相关产品推荐
相关产品推荐

