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

git 究竟是怎么用的

  •  
  •   jecvay · 2015-01-11 18:49:54 +08:00 · 3696 次点击
    这是一个创建于 3597 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 我有一个Tornado写的应用, 在vps上跑着
    2. 我想在本地写代码, 然后git push就能更新服务端的代码, 网站就立刻升级到了新版本
    3. 我想让服务端的代码和github上进行同步

    请问有我这样用git的吗? 没用过不知道.
    经典的用法应该是怎样的.

    10 条回复    2015-01-12 08:05:53 +08:00
    msg7086
        1
    msg7086  
       2015-01-11 19:00:30 +08:00
    用git管理源码,然后用专门的部署软件(通过git)来部署。

    当然直接在服务器上pull代码也可以。
    moliliang
        2
    moliliang  
       2015-01-11 19:02:53 +08:00
    很正常的用法。GITHIS.COM 就一直如此,提交代码,自动更新代码到服务器。
    github 的项目设置上有一个叫webhook的东西。push后自动访问你的一个URL。然后URL程序来自动执行 git pull 操作。就完成了自动更新代码的能力。
    wzxjohn
        3
    wzxjohn  
       2015-01-11 19:04:44 +08:00
    当然这么用。特别方便。比如我这种不喜欢把本机环境搞得一塌糊涂的就在VPS上搭建测试环境,然后直接 webhook 推送同步代码。
    belin520
        4
    belin520  
       2015-01-11 19:40:39 +08:00
    git hook
    其实就是收到push之后自动跑一个bash脚本,网上大把教程
    lightening
        5
    lightening  
       2015-01-11 19:47:26 +08:00   ❤️ 3
    这个很正常。Heroku 默认也是这样部署的。

    你可以这样:
    打开项目目录下 .git/config,找到类似如下的配置:
    [remote "origin"]
    url = https://github.com/username/repository.git
    fetch = +refs/heads/*:refs/remotes/origin/*

    增加一行 url
    变成:

    [remote "origin"]
    url = https://github.com/username/repository.git
    url = [second git url]
    fetch = +refs/heads/*:refs/remotes/origin/*

    这样你 push 时就同时 push 到两个远程仓库了。
    domino
        6
    domino  
       2015-01-11 20:50:27 +08:00   ❤️ 1
    个人感觉这写的不错

    猴子都能懂的GIT入门
    http://backlogtool.com/git-guide/cn/
    bf68
        7
    bf68  
       2015-01-11 21:07:27 +08:00
    windows的不知道适用不
    http://v2dn.com/t/1214
    Havee
        8
    Havee  
       2015-01-11 21:16:15 +08:00
    玩意push了错误的代码,你服务器同步 github 以后会悲剧的。
    建议服务器只检查 github 上 tag/release latest,酱紫 服务器都不需要 git 了
    kookxiang
        9
    kookxiang  
       2015-01-11 21:35:38 +08:00
    git hook正解
    可以 本地 -> github,然后github webhook -> 服务端
    也可以同时push到服务端和github,然后在服务端的git的hook里加上测试和部署的脚本
    LovingYoung
        10
    LovingYoung  
       2015-01-12 08:05:53 +08:00
    昨天刚刚完成你想的东西嘿嘿,可以的,本地push,远程在hooks用pull
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2695 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:50 · PVG 19:50 · LAX 03:50 · JFK 06:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.