2017-09-13 61 views
0

我試過如下:有沒有辦法從特定的提交ID從另一個分支簽出文件?

git checkout master 75d533d -- PagedList.js 
fatal: only one reference expected, 2 given. 
git checkout master -- PagedList.js 75d533d 
error: pathspec '75d533d' did not match any file(s) known to git. 
git checkout origin/master 75d533d -- PagedList.js 
fatal: only one reference expected, 2 given. 

無論如何,我的目標是從主分支版本籤PagedList.js 75d533d

回答

0

儘量簡單git checkout 75d533d -- PagedList.js

這應該是引用「足夠」。

1

前面已經說了:

git checkout 75d533d -- PagedList.js

也是這個原理:

git checkout 75d533d PagedList.js

保證 「PagedList.js」 具有正確的文件路徑,否則你會得到一個

error: pathspec 'PagedList.js' did not match any file(s) known to git

1

分支只是一個指向提交的指針。在漂亮的命令行後面,對於許多操作,分支是它指向的提交的同義詞。

Anyway, my goal is to checkout PagedList.js from master branch with the version 75d533d.

master分支,因爲任何分支,可以從一個提交移動到另一個,從歷史的一個分支到另一個。 「版本爲75d533d的主分支」可能並不總是正確的。但這是一個不同的故事。

你想要的是結算文件PagedList.js,因爲它在提交75d533d(無論該提交是否屬於master的當前歷史記錄)。此處不涉及master分支。

如果我明確了我的觀點,您可能已經明白您的錯誤在哪裏。從您的命令拖放到master任何引用,你是好去:

git checkout 75d533d -- PagedList.js 

瞭解更多關於git checkout或您的命令提示符下鍵入git help checkout

+0

謝謝。我不知道分支的commitIDs是唯一的 – anaval

相關問題