2017-06-14 498 views
0

我一直在注意到,我無法克隆名爲kaldi的 存儲庫中的最新版本。git clone是不是克隆某個版本庫的最新版本?

我怎麼知道?我可以看到我在計算機上克隆的本地文件與GitHub上的文件不同。

我試過克隆,並從當前的git目錄,這表明是最新的,這是沒有任何意義的git拉。

什麼可以阻止我的機器獲取最新版本的資源庫?

+0

它可以是憑據嗎?你在右邊的分支? – sop

+0

可能是您的存儲庫代碼是最新的git代碼。只有當您的回購代碼與git代碼相同時,纔會出現此消息。 – Kondiba

+0

@sob我可以在網上看到的變化是在公開的版本,所以我不認爲這應該是一個問題.. – Lamda

回答

1

的第一件事,一個新的克隆後要檢查的是:

git status 
git log --oneline --graph --decorate -10 

這會給你你是一個分支的想法,你所看到的承諾(和它的9個父提交)

正如OP提到:

我最初分叉的回購,並試圖更新我的本地回購。
但是由於沒有發生變化,沒有任何東西可以拉

在這種情況下,通常,請參閱「Git working fork with updates」:你變基上的upstream/master頂部當地分行。


我只是克隆kaldi-asr/kaldi在我的Windows 10的筆記本電腦,使用Git 2.13,我也看到了一些錯誤:

D:\git>git clone https://github.com/kaldi-asr/kaldi 
Cloning into 'kaldi'... 
remote: Counting objects: 83872, done. 
remote: Compressing objects: 100% (35/35), done. 
remote: Total 83872 (delta 8), reused 19 (delta 5), pack-reused 83832 
Receiving objects: 100% (83872/83872), 105.24 MiB | 512.00 KiB/s, done. 
Resolving deltas: 100% (65063/65063), done. 
error: unable to create file egs/babel/s5d/results/[email protected]1T11:34:24-04:00: Invalid argument 
error: unable to create file egs/babel/s5d/results/[email protected]1T12:04:03-04:00: Invalid argument 
error: unable to create file egs/babel/s5d/results/[email protected]2:12:45-04:00: Invalid argument 
error: unable to create file egs/babel/s5d/results/[email protected]1T12:21:34-04:00: Invalid argument 
... 

和git狀態顯示一切刪除:

D:\git\kaldi>git st 
On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

     deleted: .gitattributes 
     deleted: .gitignore 
     deleted: .travis.yml 
     deleted: COPYING 
     deleted: INSTALL 

git reset --hard未能改善情況:

D:\git\kaldi>git reset --hard 
error: unable to create file egs/babel/s5d/results/[email protected]1T11:34:24-04:00: Invalid argument 
error: unable to create file egs/babel/s5d/results/[email protected]1T12:04:03-04:00: Invalid argument 
error: unable to create file egs/babel/s5d/results/[email protected]2:12:45-04:00: Invalid argument 
error: unable to create file egs/babel/s5d/results/[email protected]1T12:21:34-04:00: Invalid argument 
... 
Checking out files: 100% (5243/5243), done. 
fatal: Could not reset index file to revision 'HEAD'. 

某些文件仍然無法結帳,因爲它們包括characters which are not compatible with the Windows filesystem
即':'之一。

如果我添加:

D:\git\kaldi>git config core.sparsecheckout true 
D:\git\kaldi>echo !results/ > .git/info/sparse-checkout 
D:\git\kaldi>echo /* >> .git/info/sparse-checkout 

然後,git reset --hard確實工作!

我只是測試稀疏克隆,並且它也能工作:

D:\git>git init kaldi2 
Initialized empty Git repository in D:/git/kaldi2/.git/ 

D:\git>cd kaldi2 

D:\git\kaldi2>git remote add origin https://github.com/kaldi-asr/kaldi 
D:\git\kaldi2>git config core.sparsecheckout true 
D:\git\kaldi2>echo !results/ > .git/info/sparse-checkout 
D:\git\kaldi2>echo /* >> .git/info/sparse-checkout 

D:\git\kaldi2>git pull origin master 
+0

讓我檢查一個稀疏結帳(https://stackoverflow.com/a/41162452/6309),不包括文件夾結果:https://stackoverflow.com/a/15295915/6309 – VonC

+0

感謝您的答案..我會實際上有相當可能的混帳拉解決方案,而不是克隆... – Lamda

+0

@Lamda是的,我的答案說明了兩種方法(拉和克隆),每次都有一個稀疏的結帳排除了麻煩的文件夾。 – VonC

1

我已經嘗試過克隆,並從當前的git目錄,這 指出是最新的git拉這使得沒有意義。

當你克隆時,你不需要拉。你已經有最新的提交。

+0

版本我克隆是不是最新版本..這就是爲什麼我git後拉..我已經有一個與repo的git目錄,其中我一直在拉最近的更新,但我只注意到,我我需要的更新(錯誤修復)不會從回購中拉出來。 – Lamda

0

對不起......我的錯誤是由不同的方式造成的。我最初分叉回購,並試圖更新我的本地回購。但由於沒有發生任何變化,沒有任何東西可以拉... Doh

+0

謝謝。我已經更新了我的答案,並提供了一個鏈接,指出您可以做什麼(在更新後的原始回購上重新佈置您的工作),以便您可以在本地回購中查看來自GitHub的文件,然後將所有內容推送到您的分支) – VonC

相關問題