从分支到生产环境的部署

3

我有一台来自某个托管公司的生产服务器,因此我无法在那里放置git存储库。

我想检查我的最新代码版本与生产服务器源代码之间的差异(它是一个php站点)。

我认为有人在没有更新git的情况下更改了prod中的内容。我如何检查这些内容?可能合并更改或其他操作吗?

有什么指南建议吗?

我的版本控制是git,该网站是基于cakephp的网站。


所以你想比较本地版本(与git存储库)和远程主机上的版本,是吗?您用什么样的访问权限来检查远程存储库中的文件? - Jakub Narębski
如果在生产服务器上没有安装 git,你该如何部署你的代码到生产环境?只要你有任意形式的命令行访问权限,你就可以在你的 Web 根目录下运行 ls -lRc 命令来获取一个完整的文件列表,并获得它们上次更改的时间戳。 - brycemcd
3个回答

4

确保您的代码库是干净的(即提交所有更改,以防丢失),并将代码从服务器复制到本地代码库。然后,您可以检查更改(使用git diffgitk),并将其提交(或不提交)。


0

你可以切换到你的分支并在你的shell中输入

git status

或者

git log

如果您的文件未被添加或提交,这应该显示您的未跟踪文件。

gitk

你可以使用gitK来显示你的变更和分支的图形化表示。

0
另一种选择:将所有远程文件复制到本地计算机上,但要在当前工作树之外。

类型a:

 git --work-tree=/path/to/ftp/copy --git-dir=/path/to/your/local/git/repo/.git status

这样你就可以检测到有什么变化,而不会删除你初始工作树上的任何内容。
话虽如此,如果你想要提交,建议先在当前工作目录中保持干净状态(正如svick他的回答中提到的),先进行提交或存储。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接