git - 使用单个命令(git push)而不是 FTP 拖放更新网站

标签 git version-control workflow sysadmin

情况:

  • 我有一个网站的本地副本
  • 我有一台可以通过 SSH 访问的服务器

我想做什么?

  • 本地提交,直到我对我的代码感到满意为止
  • 在本地设立分支机构
  • 有一个应该推送到服务器的主分支
  • 使用单个命令(git push origin master)更新网站

如果我使用 git init 在本地设置一个 git 存储库,然后推送到服务器上的一个文件夹,它就不起作用。当我通过 FTP 连接到服务器以检查文件时,它们实际上就在那里。当我通过 SSH 进入服务器并执行 git status 时,它并不干净,尽管它应该是因为我刚刚推送到服务器。


我正在做的步骤:

  1. 在我的电脑上创建一个新文件夹 (mkdir folder_x)
  2. 进入该文件夹 (cd folder_x)
  3. 在那里设置一个新的 git 存储库 (git init)
  4. (git仓库设置成功)
  5. 使用 git push origin master 将存储库推送到服务器(其中 origin 设置为 user:pass@server.tld)

最佳答案

您需要编写一个接收后 Hook ,在远程 git 存储库接收到推送后运行 git checkout -f。参见 Using Git to manage a web site了解详情。

关于git - 使用单个命令(git push)而不是 FTP 拖放更新网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/883878/

相关文章:

Git 提交消息不适用于 atom 1.21.1

database - 如何将数据库上传到 Heroku

git 工作流 : maintaining a history of functional commits

c# - 单元测试代码事件工作流

java - 如何为 jBPM 中的流程定义部署生成 sql 脚本?

workflow - Tridion 工作流程 - 如何在事件处理程序中的事件中获取组件

Git:如何重新打包所有松散的提交

git - 我们应该在 merge 到 master 后删除远程 Git 分支吗?

version-control - Windows 上的 RCS 是否有责任/注释?

version-control - 恢复 Team Foundation Server