2017-06-14 500 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

相关问题