我在嘗試診斷一個別名的問題,該別名允許用戶檢出文件的最近提交,以便遏制其最近的更改。我不想重置重置,只需將舊版本檢入到新一輪提交中即可。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