我一直注意到我无法克隆最近的版本 名为kaldi的存储库。
我怎么知道?我可以看到我在计算机上克隆的本地文件与GitHub上的文件不同。
我已经尝试过克隆,并从当前的git目录中获取git,该目录指出这是最新的,这是没有意义的。
什么可能阻止我的机器获取最新版本的存储库?
答案 0 :(得分:1)
新克隆后要检查的第一件事是:
git status
git log --oneline --graph --decorate -10
这会让你知道你的分支是一个,你看到的提交(以及它的9个父提交)
如OP所述:
我最初分配了回购,并试图更新我的本地回购 但是因为那个没有发生任何变化,所以没有什么可以拉。
在这种情况下,通常会看到" Git working fork with updates":您会在upstream/master
之上重新定位您的本地分支。
我刚刚在我的Windows 10笔记本电脑上使用Git 2.13克隆了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
即:
&#39; 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
&#39;之一。
如果我添加:
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
确实有效!
我刚刚测试了一个稀疏克隆,它也有效:
#include <vector>
#include <map>
#include <tuple>
namespace metafunction_impl
{
// meta function taking one type (T) and 'returning' one type.
// i.e. a unary metafunction
template<class T> struct get_value_type
{
using result = typename T::value_type;
};
}
// provide clean interface to the metafunction
template<class T> using GetValueType = typename metafunction_impl::get_value_type<T>::result;
template<class... Types>
class CartesianProduct
{
public:
CartesianProduct(Types... args) : sets(args...) {}
std::tuple<Types...> sets;
// use my metafunction
std::tuple<GetValueType<Types>...> combination;
};
int main() {
std::vector<int> i;
std::map<int, std::vector<int>> m;
CartesianProduct<std::vector<int>, std::map<int, std::vector<int>>>
c(i, m);
return 0;
}
答案 1 :(得分:1)
我已经尝试过克隆,并从当前的git目录中获取git 这是最新的,没有任何意义。
克隆时,您无需拉动。你已经有了最新的提交。
答案 2 :(得分:0)
抱歉......我的错误是由不同的方式引起的。我最初分配了回购,并试图更新我的本地回购。但由于那个没有发生任何变化,所以没有任何东西可以拉动...... Doh 。