- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 DreamHost
上托管了一个 CakePHP
应用程序,并在我的 MacBook 上本地克隆了一个应用程序。
我正在尝试设置我的环境,以便我可以在 MacBook 上开发并根据需要推送到托管站点 - 但无法弄清楚如何设置 git
以从当远程文件位于 webroot
之上时,从本地到远程。
如何设置我的本地 git 以推送到托管应用程序上 webroot 之上的文件?
谢谢!
最佳答案
but can't figure out how to set up git to push from local to remote when the remote files are above the webroot.
要设置存储库,您需要一个中间存储库作为引用点。现在这个 repo 可以在像 github
或 bitbucket
这样的托管网站上,也可以是 bare repo。在您的服务器本身上。 (注意 - bitbucket 为少数用户提供免费的私有(private)存储库)
bare repo的优势是您可以规避与在服务器、在线服务和您的开发机器之间设置 ssh
机制相关的任何问题。缺点是万一您的服务器出现故障,服务器上的所有代码都会丢失,尽管您的开发机器上仍然会有它的副本,因此不会丢失所有代码。
第一步
因此,让我们假设您继续使用裸代码库。如果您将使用 bitbucket/github,请忽略此步骤。
为此,我们需要在您的服务器上创建一个裸仓库:
ssh user@myserver
cd /some/isolated/location
git init --bare intermediate_repo.git
这将创建一个中间存储库,路径为 /some/isolated/location/intermediate_repo.git
。
接下来,cd 进入这个裸仓库,并运行以下命令,以便您可以通过 ssh 作为 git server 访问仓库
cd intermediate_repo.git
mv hooks/post-update.sample hooks/post-update
chmod a+x hooks/post-update
git update-server-info
现在您的bare
仓库可以作为中间仓库使用,我们可以将其添加为remote。在其他存储库中。
第 2 步
现在在你的 dev
机器上,添加一个远程(第 2 步)
git remote add intermediate ssh://user@myserver:/some/isolated/location/intermediate_repo.git
第 3 步
然后在您的服务器
的仓库中,添加一个远程
ssh user@myserver
cd /repo/location
git remote add intermediate /some/isolated/location/intermediate_repo.git
第 4 步
现在你可以开始了 ()。
您可以从您的开发机器推送您的代码如下
git push intermediate branchname
并将其 pull 入您配置的代码仓库中作为
ssh -t user@myserver "cd /repo/location && git pull intermediate branchname"
附言
如果您选择使用 bitbucket 安装,则跳过第 1 步,并在上面的第 2 步和第 3 步中,将 url
/path
替换为 bitbucket ssh url .查看this bitbucket link用于使用 bitbucket 设置 ssh 访问。此外,在生成 ssh key 时,请在不使用密码的情况下生成它们,否则您可能需要围绕 ssh 和密码调试更多内容。
您的 Views
文件夹应该在 /repo/location/Views
位置可用,您可以配置该文件夹以进行 webroot 访问。
关于git - 推送到 webroot 之上的托管项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651040/
当我推/拉存储库时,是否可以详细输出到底发生了什么?目前,我有一个大型存储库,正在将其推送到服务器,大约 15 分钟后。或者这样,它给了我一个错误,但没有告诉我它在这 15 分钟内做了什么。 最佳答案
我不知道我的方法是否有意义,但是,我需要实现如下图的布局: 现在,我只写一个 并用其中的一列表示每个区域,例如 . 没有黄色区域,这工作正常: green red blue
当我查看许多 CSS 网格系统和框架时,它们通常具有标准的列和行设置以及百分比宽度。例如这样的事情: 标准网格列: .col-10 { width: 83.33333%; width: cal
我想使用 git 子模块。 我需要采取的步骤将我的更改推送到我的项目是 add/commit/push from submodule directory add/commit/push from pa
以下为百度站长平台的公告全文: 结合站长对于关键词数据分析的需求,站长平台对流量与关键词工具进行了升级,推出(“关键词影响力”)这一全新概念。关键词影响力算法复杂,涵盖该关键词下百度搜索可以为
我需要一个具有普通按钮和下拉按钮的控件。 例如 类似的控件在 wxRibbonButtonBar 中可用,我无法在简单的 wxPanel 中使用它。 最佳答案 我实现了 SplitButton,它看起
我一直在做一个项目,使用 Bazaar 作为版本控制系统。现在我必须和离岸人员一起工作,而他们只想使用 SVN。 我有什么: 我的 bazaar 分支及其文件和修订版。 一个全新的 subversio
我一直在开发数据流/图表风格的内部 DSP 应用程序(Java 带有 Groovy/Jython/JRuby 的钩子(Hook),通过 OSGi 的插件,大量的 JNI),类似于纯数据和 simuli
我正在尝试使用 THUMB 指令创建一个阶乘方法,我基本上做到了。 我只有一个关于 PUSH/POP 操作码的问题:如果我使用 push 将 r0 的值存储在堆栈中(所以 push {r0} ),我可
在尝试 ZeroMQ Push/Pull (他们称之为 Pipeline)套接字类型时,我很难理解这个图案。它被称为“负载均衡器”。 假设单个服务器将任务发送给多个工作人员,推/拉将在所有客户端之间平
有什么方法可以使用 push() 方法找出我的数据何时保存在数据库中?我写了下面的代码,但它多次保存数据...... db.ref('news').push(opts).then(() => {
我有这个问题,每次推或拉时我都必须把它放进去。我认为这是新的。有什么想法吗? 最佳答案 您可能正在使用 https 网址。切换到 ssh 并确保您的 key 设置正确(如果您的密码短语为空),则不必输
为什么当您将一个值压入堆栈时,ESP 寄存器会减少(而不是增加),而当您弹出一个值时,ESP 寄存器会增加(而不是减少)?在这一点上,这对我来说是违反直觉的。 最佳答案 那是因为堆栈是从上到下“增长”
有什么方法可以使用 push() 方法找出我的数据何时保存在数据库中?我写了下面的代码,但它多次保存数据...... db.ref('news').push(opts).then(() => {
我决定编写一个测试代码来查看 pusher - many pullers bundle 是如何工作的,我的怀疑成真了。 拉取器按照连接的顺序接收消息,例如第一个消息由第一个连接的拉取器接收,第二个由第
我在 CSV 文件中存储了一长串日期。我已经成功地使用 d3.js 加载了这个数据集。现在我想向此数据集添加另一列,其中包含列表中每个日期的随机数。 我相信此数据集已作为对象数组加载。所以我正在使用下
我一直在寻找解决方案。不使用 c++11。 for(int a = 1; a < team1.chan; a++) { team1.nums.push_back(ppb.back())
我打算在布局中构建带有滑动 subview 的 UI。 +--------------+ +--------------+ +--------------+ | view1
Title 在小屏幕上,我首先需要标题,然后是文本字段,但在中等以上的屏幕上,我需要相反的方式 - 我已经尝试过推和拉,但它们无法工作 - 有什么想法吗? 最佳答案 根据 Swa
zmq 的某些部分未以可预测的方式运行。 我正在使用 VS2013 和 zmq 3.2.4。为了不在我的 pubsub 框架中“丢失”消息 [旁白:我认为这是一个设计缺陷。我应该能够首先启动我的订阅者
我是一名优秀的程序员,十分优秀!