我知道类似这样的问题已经被问了很多次。但是,我没有找到确切的答案来解决我的问题。我正在开始使用Git。我之前没有任何使用Git或任何版本控制的经验。到目前为止,我已经能够在本地轻松运行Git。我可以通过终端使用Git,也开始尝试使用SourceTree应用程序。
但是当我尝试远程设置时,问题就出现了。我已经在服务器上安装了Git。我在远程暂存服务器上创建了一个仓库。我可以通过SourceTree将其推送上去。然而,似乎远程仓库并没有连接到web根目录。我在本地分支上进行更改、提交、合并,然后推送到远程,但是这些更改并没有出现在通过暂存服务器提供的页面上?
在远程上,我创建了一个目录,位于我的网站根目录之外,用于保存仓库项目。我在其中创建了一个名为mygit.git的子目录。使用git init --bare 创建了我的远程仓库。这应该会创建一个没有工作目录的仓库,我可以将其推送到其中。
这就是我正在使用的环境。
但是当我尝试远程设置时,问题就出现了。我已经在服务器上安装了Git。我在远程暂存服务器上创建了一个仓库。我可以通过SourceTree将其推送上去。然而,似乎远程仓库并没有连接到web根目录。我在本地分支上进行更改、提交、合并,然后推送到远程,但是这些更改并没有出现在通过暂存服务器提供的页面上?
在远程上,我创建了一个目录,位于我的网站根目录之外,用于保存仓库项目。我在其中创建了一个名为mygit.git的子目录。使用git init --bare 创建了我的远程仓库。这应该会创建一个没有工作目录的仓库,我可以将其推送到其中。
这就是我正在使用的环境。
Production (remote server)
^
Staging (remote server)
^
Development (local)
所以,我的问题是:
- 为什么 Web 服务器没有显示通过本地推送进行的更改?
- 我是否应该在生产服务器上拥有存储库,以便所有更改都可以像冒泡一样传递到生产服务器?
- 我做错了吗?
感谢您对此的任何帮助。
GIT_WORK_TREE=/path/to/web/root git checkout branch_name -f
。在第一次push后,git会报告“remote: Already on 'branch_name'”,因此您可以恢复到之前的状态。 - Chris