V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
oxcoder
V2EX  ›  git

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

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

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

    因为git只认commit,不认文件,这个想当然了
    cabbala
        5
    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
        6
    oxcoder  
    OP
       2012-12-23 16:11:17 +08:00
    @cabbala 这么说来,要想同步最新代码只有最初git clone才有用咯?那我继续找找方法吧,渣网伤不起。
    oxcoder
        7
    oxcoder  
    OP
       2012-12-23 16:12:46 +08:00
    @cabbala 问题就是本来我的网速就渣的不行,连着VPN很慢了。唉唉~这个是硬伤。
    cabbala
        8
    cabbala  
       2012-12-23 16:17:03 +08:00
    @oxcoder 瓶颈不是因为github在国外。。。而是你这个wifi只能10KB/s?不至于吧。

    如果你的网络真的限速10KB/s,那想任何办法都是无用的。
    oxcoder
        9
    oxcoder  
    OP
       2012-12-23 16:23:10 +08:00
    @cabbala CMCC-DEU蛋疼的被限速了。所以很无奈。
    livelazily
        10
    livelazily  
       2012-12-23 16:38:18 +08:00 via Android   ❤️ 1
    网速只有10k的话干脆去网吧什么的把整个工程clone下来U盘拷回自己的电脑更快,而且之后的更新代码只会下载最新的部分,10k网速应该够了
    oxcoder
        11
    oxcoder  
    OP
       2012-12-23 16:48:22 +08:00
    @livelazily 我的意思就是这样,待会儿去试试~
    rrrrutdk
        12
    rrrrutdk  
       2012-12-24 10:04:44 +08:00   ❤️ 1
    [网吧电脑] 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
        13
    oxcoder  
    OP
       2012-12-24 11:06:36 +08:00
    @rrrrutdk 在网吧我用的msysgit。我的电脑装的ubuntu。
    rrrrutdk
        14
    rrrrutdk  
       2012-12-24 11:54:05 +08:00
    @oxcoder 我只是用命令行说下操作步骤。
    oxcoder
        15
    oxcoder  
    OP
       2012-12-24 14:30:45 +08:00
    @rrrrutdk 哦了。大体思路明白了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3867 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:28 · PVG 18:28 · LAX 02:28 · JFK 05:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.