新鲜克隆后首先要检查的是:
git status
git log --oneline --graph --decorate -10
这将使您了解您的分支是一个,以及您看到的提交(及其 9 个父提交)
正如 OP 所说:
我最初是 fork 存储库,并试图更新我的本地存储库。
但是因为那个没有任何变化,所以什么都拉不出来。
在这种情况下,通常请参阅“Git working fork with updates”:您可以在 upstream/master 之上重新设置本地分支。
我刚刚使用 Git 2.13 在我的 Windows 10 笔记本电脑上克隆了 kaldi-asr/kaldi,我确实看到了一些错误:
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/kws_results.104-pashto.flp.marcc2.conf.jtrmal1@jhu.edu.2016-03-31T11:34:24-04:00: Invalid argument
error: unable to create file egs/babel/s5d/results/kws_results.305-guarani.flp.marcc.conf.jtrmal1@jhu.edu.2016-03-31T12:04:03-04:00: Invalid argument
error: unable to create file egs/babel/s5d/results/kws_results.306-igbo.flp.marcc.conf.jtrmal1@jhu.edu.2016-03-31T12:12:45-04:00: Invalid argument
error: unable to create file egs/babel/s5d/results/kws_results.307-amharic.flp.marcc.conf.jtrmal1@jhu.edu.2016-03-31T12:21:34-04:00: Invalid argument
...
并且 git status 显示所有已删除的内容:
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/kws_results.104-pashto.flp.marcc2.conf.jtrmal1@jhu.edu.2016-03-31T11:34:24-04:00: Invalid argument
error: unable to create file egs/babel/s5d/results/kws_results.305-guarani.flp.marcc.conf.jtrmal1@jhu.edu.2016-03-31T12:04:03-04:00: Invalid argument
error: unable to create file egs/babel/s5d/results/kws_results.306-igbo.flp.marcc.conf.jtrmal1@jhu.edu.2016-03-31T12:12:45-04:00: Invalid argument
error: unable to create file egs/babel/s5d/results/kws_results.307-amharic.flp.marcc.conf.jtrmal1@jhu.edu.2016-03-31T12: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