Git fetch或Git pull来更新Web服务器上的文件?

问题描述 投票:0回答:2

我在我的计算机上有一个项目的本地仓库,我把它推到了一个远程的github仓库。然后我使用ssh将repo克隆到我的共享webhosting服务器。

从那以后,我在我的计算机上做了一些更改,我已经推送到github,然后合并到origin(master)repo。

我现在想在我的网络服务器上更新这些文件,但我对git术语有点困惑。

Git clone X

返回

fatal: destination path '' already exists and is not an empty directory.

我用git pull吗? git fetch?我认为这些命令可能会将文件下载到我的计算机而不是网络服务器上的本地存储库中。

git github clone git-pull git-fetch
2个回答
2
投票

git clone应该在您的(本地)目录上创建远程存储库的克隆。

您需要在您的网络服务器上执行git pull - 更新本地存储库及其附加的工作副本。

使用git fetch只会更改本地存储库,而不会更改本地文件(很可能是Web服务器的服务器)。所以这不是那个。


1
投票

如果你在生产服务器上检查了master分支(git clone的默认值),并且只想更新该分支中的代码,那就做一个git pull

如果您转向像git flow这样的工作流程,那么develop分支将成为存储库(以及git clone)的主要分支。您可以将master分支部署到您的生产环境,并且在将所有代码合并到您的流程中时,仍然会在master上执行git pull

一旦您完成了核心分支和部署,标记将是下一个要实现的东西。

git flow的一部分是release过程,在那里你为每个版本创建一个tag。在这种情况下,您可以逐个标记签出,以在整个master分支中放置标记在这些点的代码。然后,而不是git pull获取master的当前内容,你将checkout v1.x.x检查不同的tag点的代码。这使得回滚生产中的错误变得非常容易:

如果v1.0.1有一个bug,那么git checkout v1.0.0就会回滚。修复bug,然后git checkout v1.0.1.1部署hotfix或git checkout v1.0.2来部署下一个主要版本。

© www.soinside.com 2019 - 2024. All rights reserved.