V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DarryO
V2EX  ›  问与答

当本地和远程仓库拥有相同文件,但本地没有 .git 文件夹时,有什么方法让两者关联吗?

  •  
  •   DarryO · 2016-03-06 23:48:25 +08:00 · 3370 次点击
    这是一个创建于 3190 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设仓库里有部分稍大的数据文件,为了不重复下载文件,如何利用已有的文件?
    如果本地的文件对应服务器最新文件,应该怎么做?
    如果本地只是仓库的某一个版本又该怎么做?

    P.S 我遇见过几次这种情况,所以抽象了一下问题,希望能了解一下 git 是否有这种使用方法。

    另,还请忽略下面这样的想法...像是"git 服务器不要存放数据文件","怎么能把本地文件的版本信息搞丢"之类的...

    8 条回复    2016-03-07 10:22:18 +08:00
    guoyijun163
        1
    guoyijun163  
       2016-03-07 00:04:22 +08:00
    最多也是只是重复下载一遍你本地和远程仓库相同的文件而已……这已经 checkout 的文件……远远比仓库里的总和要小的多吧
    DarryO
        2
    DarryO  
    OP
       2016-03-07 00:12:03 +08:00
    @guoyijun163 假设 文件里有份 *很大的* *不会改动的* 数据文件, checkout 的文件大都都是 *比较小的* 代码文档的话, 我觉得这种重复下载的代价还是挺高的吧
    zeroten
        3
    zeroten  
       2016-03-07 01:52:29 +08:00
    git init
    git remote add origin [email protected]:yourname/yourproject.git
    git pull origin master

    可以参考这个试试 http://stackoverflow.com/questions/6246907/can-deleted-git-be-restored
    msg7086
        4
    msg7086  
       2016-03-07 06:03:55 +08:00
    .git 里存储的结构挺复杂的,不仅仅是单纯的数据文件,所以重建.git 的话还是需要重新从服务器上拉回来。倒是目录里的文件其实是无所谓,因为是从 .git 目录里签出的。我不知道通过目录里的文件重建 .git 是否可行,但是我觉着研究这个的时间应该足够你重新下载一遍了。
    PS: 你也可以直接从服务器上 pull repo ,不需要去最原始的源头 pull ,特别是服务器在国内而原始 repo 在国外的情况。
    clino
        5
    clino  
       2016-03-07 07:25:37 +08:00 via Android
    我觉得从你的目的上来说应该没办法关联
    Sharuru
        6
    Sharuru  
       2016-03-07 07:52:10 +08:00 via Android
    我一般都是把文件备份一下,然后 clone 的时候打断再把文件复制回去(
    suchj
        7
    suchj  
       2016-03-07 08:00:45 +08:00 via Android
    1 、 clone 远程文件到本地(放到不会冲突的目录),再把本地文件夹里的文件 cp 到 clone 下来仓库,查看变化,加入版本控制
    2 、把本地文件 scp 到仓库机器,做方法 1 的操作,适用于仓库文件很大,而本地文件很小,添加本地到仓库而不取回的情况
    angryRabbit
        8
    angryRabbit  
       2016-03-07 10:22:18 +08:00
    找同事用 u 盘拷贝一份放到自己电脑上
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2830 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 07:40 · PVG 15:40 · LAX 23:40 · JFK 02:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.