git,从分支中拉出,覆盖不同文件夹中的本地文件



我知道有关拉更改的问题和答案,我知道如何做。

我的问题是我到目前为止尚未找到的东西,这是我想做的:

我有一个网站,我不想仅使用git将更改拉到站点,我想从其他文件夹中进行此操作。

例如:

a)/var/www/public_html< ---网站为

的位置

b)/home/home/update_site/< ---这是我想从

运行git的地方

我不在乎服务器本身上的分支,差异或任何其他工作,没有在服务器上完成的工作,也永远不会在服务器本身上完成任何提交或类似的工作。我想要的是进行最新的更改并覆盖网站上的所有内容,而我不想要.git文件夹或与git相关的任何内容属于a)位置。想象一下使用WGET下载文件。

我正在考虑制作一个将所有内容都拉到位置b)的bash脚本,然后执行CP命令将所有内容复制到位置a)。

有更好的方法吗?

您可以使用git archivegit 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

最新更新