【问题标题】:Publish a site to a remote server from a local Git repository从本地 Git 存储库将站点发布到远程服务器
【发布时间】:2023-03-23 19:41:01
【问题描述】:

计划是从我在本地计算机上创建的 Git 存储库在托管服务器上发布一个站点。

我在我的服务器中创建了一个 Git 存储库:

git init

然后我在本地添加了一个遥控器,以便能够上传网站:

git remote add origin ssh:com1@*************/home/com1/public_html/aum-crm/aum-crm.git

我可以使用git push origin master 推送网站。问题是网站被推送后,我必须去服务器做两步。

 Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   some/files/got_here.php
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)

然后我这样做:

git reset HEAD .

结果如下:

Unstaged changes after reset:
M        some/files/got_here.php

最后我git checkout --,然后服务器就会有文件了。

如果我尝试在服务器上提交而不是这些步骤,但随后它会恢复,这意味着它会取消从本地提交的所有文件。 :(

为什么我需要执行这两个步骤?不应该只是把文件推送到服务器,然后他们必须马上去那里吗?

【问题讨论】:

  • 我认为你至少可以用git pull替换你的两个远程命令,这样会更快。但是,如果您查看提交后挂钩脚本,您应该会找到一种完全自动执行此操作的方法。
  • 能否解释一下,我还不是 git 专家。
  • 顺便说一下,我使用了类似的方法,但我的远程服务器上有两个存储库。一个是裸仓库,也就是我推送到的远程,另一个是直播站点,它使用裸仓库作为远程。然后我可以在直播中执行git pull,它会从裸仓库中检索最新的副本。
  • 我不知道如何做提交钩子,但我希望我能在 15 分钟后使用搜索引擎!使用我的建议作为您正在进行的研究的提示,而不是完整的解决方案——它可能已经被写了几千次了。我会先搜索“git post commit hook Linux”。

标签: php git github ssh


【解决方案1】:
*****@******.info [~]# 
*****@******.info [~/git]# mkdir test.git
*****@******.info [~/git]# cd test.git
*****@******.info [~/git/test.git]# pwd
/home1/******/git/test.git
*****@******.info [~/git/test.git]# git init --bare
Initialized empty Git repository in /home1/*******/git/test.git/
*****@******.info [~/www/test.git]# cd hooks
*****@******.info [~/www/test.git]# vi post-receive

接收后的文件:

#!/bin/sh
GIT_WORK_TREE=/home1/*******/test git checkout -f

使用 :x 保存文件

*****@******.info [~/www/test.git/hooks]# chmod +x post-receive
*****@******.info [~/www/test.git/hooks]# cd ~
*****@******.infoo [~]# git init test
Initialized empty Git repository in /home1/*******/test/.git/
*****@******.info [~]# exit

这样会让服务器自动执行这些步骤。

感谢Erik Nidwidek

Link to his answer

【讨论】:

    猜你喜欢
    • 2011-02-28
    • 2011-08-26
    • 2021-04-18
    • 1970-01-01
    • 2018-11-30
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    相关资源
    最近更新 更多