【发布时间】:2020-12-04 09:09:42
【问题描述】:
我自学使用 git 存储库,希望创建以下满足我需求的环境。
- 我在本地机器上编码
- 我有一个 bitbucket 存储库,用于更新所有内容(据我所知,我的来源)
- 我想通过 ssh 将代码推送到生产服务器
一切都按预期工作,我在推送到生产服务器时只有一个问题。在最新推送的提交在前端可见之前,我总是需要通过 shell 登录到服务器以进行硬重置。看起来最后一次推送根本没有在生产端“激活”。
我有以下工作流程来设置我的环境:
- 我使用 git init 在生产服务器上创建了一个 git 存储库
- 我使用 git clone ssh://urlToRepo 在本地机器上克隆了 repo
- 我在 bitbucket 上创建了一个新仓库
- 在我的本地计算机上,我将 bitbucket 存储库与 git remote add origin URL 链接起来
- 我处理我的代码,提交并将其推送到两个遥控器。
- 在 bitbucket 上,提交按预期可见。
- 在生产服务器上,更改未激活。我需要执行 git reset --hard 让它们可见。
为了让我的推送在生产端被接受,我还需要配置 git config receive.denyCurrentBranch ignore。我试过 git init --bare 想可能是一个裸仓库,我没有这个问题。不幸的是,服务器上根本没有显示任何文件。
如您所见,我可能没有完全理解这个概念。有人知道如何帮助并提示我正确的方向吗?
已经谢谢了。
【问题讨论】:
-
Git 不是部署工具。它只跟踪开发历史,您需要使用不同的工具部署到生产环境。
标签: git bitbucket bitbucket-pipelines git-workflow