Git,从分支中提取,覆盖不同文件夹

时间:2017-02-27 10:46:35

标签: git

我知道有很多关于拉动变化的问题和答案,我知道如何做到这一点。

我遇到的问题是到目前为止我还没有找到的,这就是我想要做的事情:

我有一个网站,我不想仅使用git将更改提取到网站,我想从另一个文件夹中执行此操作。

例如:

a)/ var / www / public_html< ---网站所在的位置

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

运行git的地方

我不关心服务器本身的分支,差异或任何事情,没有任何工作是在服务器上完成的,并且在服务器本身上永远不会有任何提交或类似的提交。 我想要的只是提取最新的更改并覆盖网站上的所有内容,我不希望.git文件夹或与git相关的任何内容位于a)位置。想象一下使用wget下载文件。

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

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用const CACHE_VERSION = 'v2'; const CACHE_NAME = `${registration.scope}!${CACHE_VERSION}`; self.addEventListener('install', event => { event.waitUntil( caches.open(CACHE_NAME).then(cache => { // Add entries to the cache... }) ); }); self.addEventListener('activate', event => { event.waitUntil( caches.keys().then(cacheNames => cacheNames.filter(cacheName => { // Find the caches that belong to this scope, but don't match CACHE_NAME. return cacheName.startsWith(`${registration.scope}!`) && cacheName !== CACHE_NAME; }).then(cachesToDelete => Promise.all(cachesToDelete.map(caches.delete)) ); }); git archive

示例:在本地副本

git checkout-index

OR

git archive master | tar -x -C /var/www/public_html

如果您不需要本地副本,也可以将远程仓库作为参数传递

git checkout-index -f -a --prefix=/var/www/public_html/