我知道有关拉更改的问题和答案,我知道如何做。
我的问题是我到目前为止尚未找到的东西,这是我想做的:
我有一个网站,我不想仅使用git将更改拉到站点,我想从其他文件夹中进行此操作。
例如:
a)/var/www/public_html< ---网站为
的位置b)/home/home/update_site/< ---这是我想从
运行git的地方我不在乎服务器本身上的分支,差异或任何其他工作,没有在服务器上完成的工作,也永远不会在服务器本身上完成任何提交或类似的工作。我想要的是进行最新的更改并覆盖网站上的所有内容,而我不想要.git文件夹或与git相关的任何内容属于a)位置。想象一下使用WGET下载文件。
我正在考虑制作一个将所有内容都拉到位置b)的bash脚本,然后执行CP命令将所有内容复制到位置a)。
有更好的方法吗?
您可以使用git archive
或git checkout-index
示例:在本地副本上
git archive master | tar -x -C /var/www/public_html
或
git checkout-index -f -a --prefix=/var/www/public_html/
如果您不需要本地副本
,也可以通过远程存储库作为参数。git archive --remote=ssh://remote_server/remote_repository master | tar -x -C /var/www/public_html