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

fut*_*ime 6 git

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

Von*_*onC 9

您在此博客文章中有一个用于登台的Git repo示例:

IDE => local Git repository => remote bare Git repository 
                                   => Git repository with the live web application
Run Code Online (Sandbox Code Playgroud)

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

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

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

exec git-update-server-info
Run Code Online (Sandbox Code Playgroud)

存在裸露远程仓库的原因是因为"劝阻"使用工作目录进入仓库是"劝阻".