2011-09-14 34 views
2

让我们假装我有一个不是git存储库的项目目录。这个项目是开源的,它在github上列出。我想将我的项目目录更新到最新的存储库结构。我可以通过复制回购的git的/我的目录做这个,接着Git:将Git索引导入非git目录

git reset --hard 

那么这将改变先前存在的工作目录,以匹配GitHub的仓库。通常情况下,我只是通过克隆github repo来重新开始,但在这种情况下,我可能会保留特定于部署的文件(它们将列在.gitignore中)。

我想知道,除了手动将git索引复制到非git目录之外,还有更好的方法吗?

回答

1

一种常见的方式做到这一点是有一个脚本,执行以下操作:

#!/bin/sh 
export GIT_DIR=/srv/git/whatever.git 
export GIT_WORK_TREE=/where/to/deploy/ 
git checkout -f 

人们常常以裸仓库使用的post-receive挂钩,这样就可以部署的新版本应用程序只需推送到该存储库。

+0

一个简单而简单的解决方案。谢谢! – dhulihan