我可以使用git来保持远程服务器的最新状态吗?

时间:2010-01-14 07:00:27

标签: git

我正在使用git来跟踪项目,如果可能的话,我想设置一下,以便git处理我的所有代码暂存,我可以有一个本地存储库进行测试,然后将更改推送到服务器用git让他们活着。但是,在尝试使用标准git push调用时,我最终会出现不一致的分支和可怕的混乱历史。有没有办法使用git管理登台?

2 个答案:

答案 0 :(得分:9)

你在这个blog post中有一个用于登台的Git repo的例子:

IDE => local Git repository => remote bare Git repository 
                                   => Git repository with the live web application

它涉及裸仓库上的更新后挂钩,以便在实时Web服务器端触发更新。

  

最后一步是在裸存储库上定义“更新后”钩子脚本,当裸存储库接收数据时调用该脚本。   要启用“更新后”挂钩,我们必须使hooks/post-update可执行或将hooks/post-update.sample重命名为hooks/post-update,具体取决于Git版本。
  在这个脚本中,我们只需更改为实时应用程序的文件夹,然后启动拉取操作:

#!/bin/sh
cd $HOME/example.org
unset GIT_DIR
git pull bare master

exec git-update-server-info
  

有一个裸露的远程仓库的原因是因为“劝阻”推进一个带有工作目录的仓库。

答案 1 :(得分:0)

即使git是一个分布式版本控制系统,拥有一个中央存储库(可能是一个--bare)通常也是个好主意。它会简化事情。