github同步某分支最新代码疑问。

2012-12-23 14:59:29 +08:00
 oxcoder
我这里网络比较慢,用的CMCC-EDU的wifi,平时用git同步代码只有10K/s的速度。小点的代码还成,像大点的,比如MIUI的Micode实在难以忍受这速度。
然后我就想去网吧下载他的压缩包来用,问题来了。
如果我将这个包解压到同步文件夹里,还有可能用这个包依照Git上更新的东西来更新我本地的代码么?
如果可以的话怎么做呢?
求高手指教。
谢谢。
5778 次点击
所在节点    git
15 条回复
cabbala
2012-12-23 15:29:38 +08:00
「如果我将这个包解压到同步文件夹里,还有可能用这个包依照Git上更新的东西来更新我本地的代码么?」
A:如果你是用github的打包服务下载下来的包,其实相当于git archive命令,是不带.git目录的,也就是缺乏版本信息。

解决办法有2:
1. 连VPN clone
2. 在国外VPS上clone,然后tar zcvf xxx.tar.gz xxx/ 。多线程下载到本地,解压缩即可
Glow
2012-12-23 15:41:50 +08:00
可以在你下载压缩包的解压文件夹 git init 创建一个仓库,然后 git add remote添加github上的远程仓库,然后fetch后merge一下就行了
oxcoder
2012-12-23 16:01:16 +08:00
@cabbala 代理下载不靠谱,VPS上clone还是需要下载到本地才行。感谢你的回答。
@Glow 我待会儿试试你这个。感谢你的回答。
cabbala
2012-12-23 16:07:39 +08:00
@Glow @oxcoder git fetch需要下载的数据和git clone是一样的,并不会因为你本地有最新的文件就节约流量。

因为git只认commit,不认文件,这个想当然了
cabbala
2012-12-23 16:11:11 +08:00
@oxcoder 说起代理,为什么不靠谱呢?
1. VPN绝对最简单,直接用,我这连上VPN后300KB/s的clone速度。。如果连上VPN还是慢,那是你买的VPN慢,换个快的
2. socks 或者 http代理,这个不能用git/ssh协议,用github的https协议来clone,也很快。曾经用goagent clone过,配置忽略证书错误后clone也是飞快。
oxcoder
2012-12-23 16:11:17 +08:00
@cabbala 这么说来,要想同步最新代码只有最初git clone才有用咯?那我继续找找方法吧,渣网伤不起。
oxcoder
2012-12-23 16:12:46 +08:00
@cabbala 问题就是本来我的网速就渣的不行,连着VPN很慢了。唉唉~这个是硬伤。
cabbala
2012-12-23 16:17:03 +08:00
@oxcoder 瓶颈不是因为github在国外。。。而是你这个wifi只能10KB/s?不至于吧。

如果你的网络真的限速10KB/s,那想任何办法都是无用的。
oxcoder
2012-12-23 16:23:10 +08:00
@cabbala CMCC-DEU蛋疼的被限速了。所以很无奈。
livelazily
2012-12-23 16:38:18 +08:00
网速只有10k的话干脆去网吧什么的把整个工程clone下来U盘拷回自己的电脑更快,而且之后的更新代码只会下载最新的部分,10k网速应该够了
oxcoder
2012-12-23 16:48:22 +08:00
@livelazily 我的意思就是这样,待会儿去试试~
rrrrutdk
2012-12-24 10:04:44 +08:00
[网吧电脑] mkdir -p /media/usb/ && mount /dev/sdX /media/usb/
[网吧电脑] git clone --bare $PROJECT_URL $PROJECT_NAME
[网吧电脑] zip -q -r $PROJECT_NAME.zip $PROJECT_NAME
[网吧电脑] cp $PROJECT_NAME.zip /media/usb/
[网吧电脑] umount /media/usb/

[楼主电脑] mkdir -p /media/usb/ && mount /dev/sdX /media/usb/
[楼主电脑] unzip -q /media/usb/$PROJECT_NAME.zip -d /home/santa/Repositories/
[楼主电脑] cd $MY_LOCAL_COPY/
[楼主电脑] git remote add local /home/santa/Repositories/$PROJECT_NAME
[楼主电脑] git fetch local
oxcoder
2012-12-24 11:06:36 +08:00
@rrrrutdk 在网吧我用的msysgit。我的电脑装的ubuntu。
rrrrutdk
2012-12-24 11:54:05 +08:00
@oxcoder 我只是用命令行说下操作步骤。
oxcoder
2012-12-24 14:30:45 +08:00
@rrrrutdk 哦了。大体思路明白了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/55609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX