Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何保持文件同步';OpenShift中的d?_Git_Openshift - Fatal编程技术网

Git 如何保持文件同步';OpenShift中的d?

Git 如何保持文件同步';OpenShift中的d?,git,openshift,Git,Openshift,对于OpenShift: 我在~approot/repo/data中创建了一个测试目录。 我还有本地的“myapp”/data目录。我可以用git推到OpenShift。我的测试文件上传很好,我可以用ssh检查 现在,我用nano或vim远程创建一个文件——名为remoteFileVim的文件存在于repo/data目录中。当我在本地执行git pull时,我看不到该文件remoteFileVim 我在app root/data中创建了名为secondVimFile的第二个文件,如何将该文件拉入

对于OpenShift:

我在~
approot/repo/data中创建了一个测试目录。
我还有本地的“
myapp”/data
目录。我可以用git推到OpenShift。我的测试文件上传很好,我可以用ssh检查

现在,我用nano或vim远程创建一个文件——名为
remoteFileVim
的文件存在于
repo/data
目录中。当我在本地执行git pull时,我看不到该文件
remoteFileVim


我在
app root/data
中创建了名为
secondVimFile
的第二个文件,如何将该文件拉入本地计算机。我可以使用git吗?如果有帮助的话,我已经在Openshift上加载了python 2.6、cron和mysql

如果您可以通过ssh连接到机器中,您应该能够使用
scp
读取或写入文件

只需将新文件放在Openshift gear的
~/app root/repo/
文件夹中,不会导致这些文件包含(签入)您的修订控制系统。通常,您应该使用
git commit
git push
在本地对应用程序进行大部分更改,然后将这些更改推送到OpenShift gear

如果您的应用程序需要磁盘存储,或者需要访问其他内容,例如-您可以将此内容放在
~/app root/data
文件夹中。此目录不受部署的影响,已为应用程序的本地磁盘存储需求预留了此目录。

查看此博客:

OpenShift应用程序代码是使用Git上传的。 推送后将重新创建存储库目录中的任何更改。 因此,将上载的文件存储在其中将不起作用

您可以使用的唯一持久目录是../data。它的完整路径存储在环境变量$OPENSHIFT\u DATA\u DIR中。 但是,这个目录不是公共的,所以没有URL链接

解决方案非常简单-只需创建一个符号链接。下面是一个PHP示例。 通过SSH登录到您的计算机,然后运行:

mkdir app-root/data/photos
cd app-root/repo/php    #  php/ is the only publicly accessible directory (by default, not sure if not changeable in .htaccess).
ln -s ../../data/photos photos
这使得../data/photos中的内容可以在上公开访问。
可以使用
$\u ENV['OPENSHIFT\u DATA\u DIR']

在app root中远程执行任何操作(包括SSH),来引用管理其中文件的目录。 GIT使用应用程序部署。 你需要将文件从approot复制到你的计算机上,然后用GIT推送它们。此外,无论是/数据还是应用程序根标度。只有“应用程序部署>当前”才会缩放