我正在摆脱老式的 FTP 工作流程,并且无法让开发 → 登台 → 生产 Git 流程正常工作。我可以通过 ssh/git 连接到我的暂存服务器和生产服务器。
我在登台服务器上创建了一个空存储库并尝试推送我的本地开发存储库。这似乎奏效了。但是,似乎上传的唯一文件是 .git 文件夹中的一个 2+GB 的大文件。我的目录都不会上传。这是这样的工作方式还是我做错了什么?我无法弄清楚如何获取我的本地项目并将其推送到服务器,就像我习惯在 FTP 中那样。
任何帮助表示赞赏。
我正在摆脱老式的 FTP 工作流程,并且无法让开发 → 登台 → 生产 Git 流程正常工作。我可以通过 ssh/git 连接到我的暂存服务器和生产服务器。
我在登台服务器上创建了一个空存储库并尝试推送我的本地开发存储库。这似乎奏效了。但是,似乎上传的唯一文件是 .git 文件夹中的一个 2+GB 的大文件。我的目录都不会上传。这是这样的工作方式还是我做错了什么?我无法弄清楚如何获取我的本地项目并将其推送到服务器,就像我习惯在 FTP 中那样。
任何帮助表示赞赏。
标准的 git push 实际上不会更新您推送到的存储库的工作副本——您的更改都在那里,等待您手动更新您的工作副本。这是为了安全起见,以防您在工作副本中工作:)。真的,git push
是相反的git fetch
,而不是git pull
- 考虑这git fetch
也不会更新您的工作副本。
您可以设置一个挂钩来在推送后更新您的工作副本,如果这是您想要的。
Git 将整个提交树存储在您所看到的大型二进制 blob 文件(“包”)中。默认情况下,服务器将仅存储“裸”存储库,因此实际上不会签出文件,并且只有压缩包数据存在于 .git 目录中。如果您想在某处保留最新提交的已签出和最新版本,则必须在服务器上有一些提交后脚本。