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

git init --bare 创建的仓库,怎么提交代码>?

  •  
  •   JasonTsang · 2018-10-16 16:18:38 +08:00 · 4659 次点击
    这是一个创建于 2264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教个问题

    之前一直用 git init 去创建 ,然后代码就在里面所以很容易提交代码

    但我现在用 git init --bare 创建裸仓库

    我的代码应该放到哪? 又在哪个目录去操作 GIT 提交代码?

    10 条回复    2018-10-17 06:53:04 +08:00
    cy97cool
        1
    cy97cool  
       2018-10-16 16:26:56 +08:00
    假设当前目录为 /tmp/test
    先建立个工作目录 /tmp/work
    搬个家 mv /tmp/test /tmp/work.git
    进入到 /tmp/work 里面 取消 bare 的设置 git config --unset core.bare

    然后就能正常使用 git 了
    cy97cool
        2
    cy97cool  
       2018-10-16 16:27:22 +08:00
    少打了个 / 尴尬
    搬个家 mv /tmp/test /tmp/work/.git
    jasonyang9
        3
    jasonyang9  
       2018-10-16 16:30:15 +08:00
    既然你用`--bare`,那创建的是中心库吧,不是直接用来提交的,而是被共享的
    xia0pia0
        4
    xia0pia0  
       2018-10-16 16:30:42 +08:00
    先把空项目 clone 下来,后面 push 上去之后,仓库也就存了新提交的了。存放的方式不是你想的那样,通常不需要在仓库目录下边操作的,除非加些 hook。
    est
        5
    est  
       2018-10-16 16:33:09 +08:00
    好像可以 git --git-dir=. commit 这样。
    JasonTsang
        6
    JasonTsang  
    OP
       2018-10-16 16:40:27 +08:00
    @xia0pia0 因为是有 HOOk 的,其实我是想把项目变成一个自动化部署,也就是我在本地 提交之前,利用 post-receive 钩子,直接把新提交的变化 checkout 到我的 运行目录里。这都实现了,但有一个问题,运行目录 也会产生很多文件,比如用户上传的图片 ,这样我是希望在本地 能通过 pull 拉取么这些更新。
    JasonTsang
        7
    JasonTsang  
    OP
       2018-10-16 16:41:42 +08:00
    @jasonyang9 但无法提交,说明 如果服务器上的代码有什么变化,我本地也是无法 pull 到
    bitsong
        8
    bitsong  
       2018-10-16 17:00:08 +08:00
    --bare 创建的裸仓库一般用于做远程中心库,中心库为了共享代码所以不能执行一些代码操作,以避免冲突。
    bitsong
        9
    bitsong  
       2018-10-16 17:15:16 +08:00
    刚没看到楼主你是想做源码目录和仓库目录分离,用户上传文件这类不经过 git 提交到源码目录,没法直接 pull 到,你可以考虑加个 rsync 来实现,如果有知道直接用 git 就完成这套操作的方法,我也要学习下
    msg7086
        10
    msg7086  
       2018-10-17 06:53:04 +08:00
    一般 bare 仓库是当做服务器用的,普通仓库则相当于客户端。提交都是在客户端(目录)交进数据库以后再同步到服务器(目录)的。

    另外其实不是很推荐用 Git 直接管理服务器部署工作。最好还是由专门的部署工具负责。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   985 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.