Git只提取一定数量的提交



我有一个本地git repo,我需要更新它。然而,在线repo远远领先于我的本地副本。我的连接速度非常慢。当我使用git pull-v--progress时,我开始看到进度,但过了一段时间,我得到了这个错误:

efrror: RPC failed: result = 18, HTTP code = 200 | 5.00 KiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

这是由于我的连接速度很慢。我需要知道是否有办法,比如说在我的本地回购之前只进行第一次承诺,看看我是否可以一步一步地更新我的本地逆回购。

重要:我想知道的是,是否有一种方法可以在本地副本之前提取#个提交,而不是特定的提交。

如果你想提取分支$branch的$N个提交,你可以这样做(假设你目前在$BRANCCH):

git log $BRANCH..origin/$BRANCH --pretty=format:%H | tail -$N | head -1 | git pull origin 

现在,一步一步:

git log $BRANCH..origin/$BRANCH

将给出本地分支和远程分支之间不同的提交列表,--pretty=format:%H选项只显示提交id,避免显示作者、日期或提交消息等其他信息。

tail -$N | head -1

给定一个列表,tail -N会给你最后N行,head -1会给你第一行。因此,如果我们把它们放在一起,我们就会得到列表的最后N行。

| git pull origin 

只需将通过管道传递的提交id拉入当前分支即可。

相关内容

  • 没有找到相关文章

最新更新