如何将Cloudways上的代码推送到Github

5

是否可以将Cloudways应用程序中的代码部署到空的git库中?我想知道是否可能,因为我目前使用FTP(Filezilla)进行部署。我能够克隆一个线上网站到一个暂存网站,但是不能将其部署到Github以便在我的本地计算机上处理文件。

3个回答

5
首先,在Github.com上创建一个空仓库。然后登录Cloudways仪表板,打开您的应用程序并设置“通过Git进行部署”。完成所有这些步骤后,打开一个命令行应用程序(例如Mac上的Terminal),并使用您的SSH凭据登录。接下来,您将执行一些Git命令:
首先,您需要在public_html目录中运行git init命令,将服务器代码转换为本地存储库。这将创建一个.git子目录,其中包含新存储库的所有必要元数据。接下来,使用git add .创建一个快照,然后使用git commit -m“ My Cloudways Repo”来捕获快照的状态。My Cloudways Repo是此初始提交的消息,可以是任何内容。之后,使用git remote add origin git@git.yourdomain.com:username/name_of_repo.git设置新的远程,这是您用于设置“通过Git进行部署”的相同地址。最后,使用git push origin master将代码推送到远程Github服务器。
总结:使用命令行导航到您的应用程序文件夹:/home/master/applications/yourdomain.com/public_html,然后依次执行以下命令(以便您可以阅读响应)。
git init
git add .
git commit -m "My Second Repo Cloudways"
git remote add origin git@git.yourdomain.com:username/name_of_repo.git
git push origin master

您可以在以下链接了解有关git initgit addgit commit 的更多信息:

https://www.atlassian.com/git/tutorials/setting-up-a-repository https://www.cloudways.com/blog/wordpress-github/#create-repository-on-github

请注意,这些链接提供有关使用 Git 进行版本控制的详细信息。

感谢指南。然而,在最后阶段我遇到了这个错误:git@github.com: Permission denied (publickey)。 致命错误:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。 - Webninja

2
您需要先确保能够使用Git将您通过FileZilla本地复制的Cloudways应用程序部署并推送到GitHub存储库中,详见“使用Git将代码部署到您的应用程序”。
一旦设置了SSH访问权限,您可以单击“开始部署”以启动该过程。它会获取GitHub存储库并进行部署。
这意味着对于问题“是否可以从Cloudways应用程序将代码部署到空的Git存储库?”,答案是否定的,发布过程是相反的。
这将涉及以下步骤:
- 生成并下载SSH密钥 - 将SSH公钥上传到您的Git存储库 - 复制存储库SSH地址 - 从您的存储库部署代码
最后一步是:
- 回到Cloudways控制台,在“Git远程地址”字段中粘贴第4步中获取的SSH地址,并单击验证。这将确保Cloudways和Git服务(例如Github)之间没有任何阻碍。 - 然后选择要从中部署的存储库分支(默认情况下将选择主分支)。 - 接下来,输入部署路径(即将部署代码的服务器文件夹)。请确保以“/”结尾。如果将此字段留空,则代码将部署到“public_html/”。 - 最后,单击“开始部署”按钮以将代码部署到所选路径。
如下图所示: https://support.cloudways.com/wp-content/uploads/2018/03/git-deploy-new1.png

3
这个部署是从 Github 到 Cloudways,我没有问题。我的问题是是否可能将文件从 Cloudways 获取到 Github,然后再拉取到我的本地仓库。 - user3752231
2
我尝试了类似的事情,即将现有应用程序克隆到一个暂存应用程序中,不确定自己是否具有新服务器的权限,但即使有,我仍然没有看到使用Git进行推送的选项。我只是在检查是否可以使用Git,他们的文档中没有提到这一点。如果不行,那么我可以使用ftp来管理,然后用新编辑的文件覆盖暂存文件。 - user3752231
1
@user3752231,你找到正确的SSH URL了吗?这个URL可以用来从Cloudways服务器克隆到你的电脑,然后推送到GitHub上。 - VonC
由于我的Git存储库没有.env文件,当我将其拉到Cloudways时,这个生产文件就被删除了。有没有办法让这个已经在生产环境中的文件保持不变,毕竟GitHub上没有这个文件呢?目前,每次部署时,我都需要去生产环境重新配置.env文件,包括数据库信息等。 - undefined
1
@PauloCosta 这就是为什么存在内容过滤驱动程序的原因:请参考我在“忽略根目录以外的其他.gitignore文件”的回答的第二部分进行说明。 - VonC
显示剩余7条评论

2

首先,您需要在GitHub上创建一个新的存储库。 然后,启动Cloudways SSH终端(服务器管理面板>主凭据>启动SSH终端)并粘贴您的凭据。 现在运行以下命令:

cd applications/xxxxxx/public_html. xxxxxx is a folder name.
git init
git add .
git checkout -b master
git commit -m "first commit"

如果你看到这条消息“请告诉我你是谁”,那么运行下面这两个命令。
git config --global user.email "you@example.com" //                                                                                        
git config --global user.name "Your Name"


git remote add origin https://github.com/farhanayub/GitHub.git
git push origin master
Then insert GitHub username and password.

如果您看到任何错误,请运行以下命令,然后再次重复步骤。
rm -rf .git/

供您参考:https://www.cloudways.com/blog/wordpress-github/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接