gpt4 book ai didi

git - 如何使用 Git 存储库进行 Web 开发(和部署)?

转载 作者:太空狗 更新时间:2023-10-29 13:41:46 25 4
gpt4 key购买 nike

来自简单的“直接在 ftp 上编辑”工作流程,我想尝试源版本控制。可以想象,GIT 是一个非常受欢迎的选择。

我是单例开发者。我在远程服务器 (Linux) 上有多个网站(每个网站都在/home/domains/中),我希望在本地(Mac OS)开始处理它们,然后将它们推回去(更新远程文件)。

但是我不明白 git 应该如何为我工作。看起来我必须有一个“裸”存储库,但我不能拥有,因为我的项目已经有文件和文件夹,所以这意味着我必须创建一个新的裸存储库,然后在本地推送内容,然后远程 pull .

这看起来有点奇怪,当我只处理 2 个文件夹时有 3 个存储库(1 个本地和 2 个远程)。

我能得到一些建议吗?

最佳答案

如果您可以在服务器和本地系统之间进行在线访问,则有两个标准的、合理的选项。

首先,您可以为其他存储库添加远程,并在开始进行更改之前从其他存储库中提取所有已提交的更改。这意味着,例如,如果您在本地系统上进行更改,则必须通过 ssh 连接到服务器并 pull 那里的更改。

其次,您可以创建一个裸存储库作为主存储库。这是共享存储库的标准模型,尤其是当涉及多个用户时,但它适用于涉及一个用户且当两个系统之间可能没有全时双向访问时,首选。这个裸仓库可以在 mac 系统上,在 linux 服务器上,或者在第三方系统上(例如 github,例如)。这种情况下的工作流程是从裸存储库中提取所有更改、进行更改、提交,然后将该更改推送到裸存储库。如果没有特殊的 Hook ,您仍然需要通过 ssh 连接到服务器并发出 pull 以更新实时网站。

您可以通过从服务器存储库执行 git clone --mirror --bare 来创建新存储库。之后,您将在服务器上 git add remote origin URL-TO-NEW-BARE-REPOSITORY。您可以在 macosx 系统或 git clone URL-TO-NEW-BARE-REPOSITORY

上执行相同的操作

技术上可以配置系统让macosx系统推送到 check out 的linux工作目录。我不推荐这样做,特别是如果您也可能对该存储库进行更改,因为该过程可能/会破坏任何未提交的更改。自动 Hook 可能会发生类似的问题,它会自动将传入的提交发送/ checkout 到实时网络服务器目录。

作为引用,请考虑 http://toroid.org/ams/git-website-howtohttp://joemaller.com/990/a-web-focused-git-workflow/

关于git - 如何使用 Git 存储库进行 Web 开发(和部署)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com