微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误:pathspec '...' 与 git

如何解决错误:pathspec '...' 与 git

我打电话给git checkout HEAD~2 "Finished 1 stage"(或只是git checkout "Finished 1 stage"

然后我得到 error: pathspec 'Finished 1 stage' did not match any file(s) kNown to git

git 日志:git log

我正在尝试从提交“完成 1 个阶段”中获取文件

希望你能帮帮我!

解决方法

当你说

listOfCol = list(df.columns.values)
colOne = listOfCol[0]
for index,row in df.iterrows():
  columnValue = df.loc[index,colOne]
  if ("Generating" in columnValue or "Total Records" in columnValue):
      df = df.drop(df.index[index])

print(df)

然后你签出提交,它是在 HEAD 后面的 2 个提交,它是分支的头。您可能只需要上面的命令。

您的错误消息表明“完成 1 个阶段”是一个不存在的文件。显然这是一个提交消息,这是不必要的传递和 git 解释

git checkout HEAD~2 

作为

结帐到 HEAD~2,但仅适用于名为“完成 1 个阶段”的文件

,

我正在尝试从提交“完成 1 个阶段”中获取文件

在 Git 中,提交是编号,作为一个又大又丑的 hexadecimal 数字。 git checkoutgit restore 在这里实际需要的是提交的编号。因此,在原始级别,您可能会这样写:

git checkout a123456

这意味着切换到(整个)提交(作为“分离的 HEAD”);然后,您的工作树将包含来自该提交的文件,以及 Git 未触及的任何未跟踪文件,这些文件保留在之前的位置。1

如果您只想要来自该特定提交的一些特定文件,最好的(最安全的)表达方式是:

git checkout a123456 -- path/to/file1.ext name/of/file2.ext

例如。请注意,此请求意味着销毁我在这两个文件中的任何未保存的工作,Git 会在不询问的情况下执行此操作。此处的两个破折号 --提交说明符 a123456 与两个路径名分开。如果您省略这两个破折号,Git 会假设它们,只要文件名不类似于选项说明符或类似。例如,假设您想获得一个名为 -b 的文件。名称 -b 也看起来像 option -b。这两个破折号帮助 Git 确定某些东西一个选项(如果它在 -- 的左侧)或不是一个选项(如果它是在 -- 的右侧)。

现在,那些大而难看的哈希 ID 很难输入。您可以使用 git log 找到您想要的提交,然后使用鼠标剪切并粘贴哈希 ID。但这仍然不是很漂亮。有时,使用大而难看的哈希 ID 以外的其他东西可能会很好,甚至是像 a123456 这样的缩写 ID。您使用 HEAD~2 是一种避免必须输入哈希 ID 的方法。

如果 HEAD~2 命名那个提交——它可能——那么HEAD~2你需要的一切并且是你应该输入的一切。提交的主题文本,例如“已完成 1 个阶段”,不应包含在此处。

要查看来自 HEAD~2 的哈希 ID,您可以运行 git rev-parse。除了说明 git checkout 如何将字符串 HEAD~2 转换为哈希 ID 外,此命令并没有那么有趣:

$ git rev-parse HEAD~2
7652ce966f9b398e02a5df0344d015c4d54ca52a

(您的结果会有所不同)。要更好地查看提交,请考虑使用 git show:

$ git show HEAD~2

(此处不包括输出)。

有多种方法可以使用日志消息来搜索提交。这些在 the gitrevisions documentation 中有描述,值得随着时间的推移反复阅读。但如果 HEAD~2 就足够了,您可能应该使用它。


1对于已修改但尚未提交的文件,有一种特殊情况。有关血腥详情,请参阅Checkout another branch when there are uncommitted changes on the current branch

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。