我在尝试诊断一个别名的问题,该别名允许用户检出文件的最近提交,以便遏制其最近的更改。我不想重置重置,只需将旧版本检入到新一轮提交中即可。Git别名给出pathspec错误
如果没有错误地传递文件名,那么将整个回购分支到HEAD ^也是很重要的,因此-sh用于sh(如果$ 1没有填充某些东西时会窒息)。
如果有问题,我们都在同一个存储库中工作,并且我是唯一不是完整新手的用户,但我不是任何方式的git master。
我们在Windows 7
这里使用MsysGit 1.8.4是别名:
[alias]
back1=!sh -uc 'git checkout HEAD^ $1 ' -
然而,这有时会像
$ git back0 format_tests.sas
error: pathspec 'format_tests.sas' did not match any file(s) known to git.
错误但是如果我跑
$ git checkout HEAD^ format_tests.sas
直接从命令行,它工作正常。它似乎也很好地测试另一个git存储库。
我觉得这可能是一个引用问题,但我不知道在这一点上。
我不使用下面介绍的方法的原因是,如果我运行没有文件的命令,我会得到类似于以下内容的东西,这在我们的新手环境中是不正确的(为什么我使用shell命令“-u”开关):
testgit.git/ (j=0,r=0)$ git back1
Warning: you are leaving 1 commit behind, not connected to
any of your branches:
a77dfed hlksdj;
If you want to keep them by creating a new branch, this may be a good time
to do so with:
git branch new_branch_name a77dfed
HEAD is now at 954f639... blakjsd
感谢您的兴趣和帮助!
在我们的环境中,没有文件运行此给出了一个奇怪的事情 - - 我编辑了上面的问题来描述它。奇怪的事情会导致混乱。否则,我甚至不会担心别名。 – forkandwait
感谢您对答案的更新,而不只是说RTFM;)。将它标记为已回答,但我即将尝试使用更好的错误消息进行扩展,这可能会破坏所提供的良好修改... – forkandwait