【发布时间】:2015-02-14 15:11:27
【问题描述】:
我有一个非常具体的需求,但我无法让它发挥作用,因此我求助于你,Git 和 Stack Overflow 朋友。
我有一台服务器运行我的实时网站。我希望使用 Git 更新网站。为了避免实时测试,我希望在同一台服务器上设置一个测试环境,可以通过子域访问,就好像开发文件夹是 master 的一个分支一样。
据我所知,你不能在不同的文件夹中有分支,这是有道理的。相反,我将实时存储库克隆到另一个文件夹中。从我的家用计算机,我推送到开发存储库的一个功能分支,在那里我将它与“远程”主分支合并,然后将合并推送到实时服务器。
不幸的是,当我尝试将我的开发大师推向实时大师时,git log 确实提到了新的提交,但文件保持不变。 This question 似乎相关,但没有答案解决我的问题。
我做什么(按时间顺序)
~/www $ git init-
~/www $ git touch file.txt(并填写) ~/www $ git add .~/www $ git commit -m "Initial commit"~/dev $ git clone ~/www .- 对
~/dev/file.txt进行一些更改 ~/dev $ git add .~/dev $ git commit -m "Dev commit"~/dev $ git push
检查~/www/file.txt 时,没有任何变化:(
~/www(原始存储库)中的 git log 命令确实显示了提交:
commit 677fed22f18d2a98c9b03fc4256c2ef78bd68e8d
Author: Tim Severien <tim********@gmail.com>
Date: Sat Feb 14 16:36:38 2015 +0100
Dev commit
commit 7dd9b40dd29a63ba8ea7d647b4afd575f2376659
Author: Tim Severien <tim********@gmail.com>
Date: Sat Feb 14 16:35:39 2015 +0100
Initial commit
- 为什么我的实时存储库没有更改?
- 您对这种工作流程有更好的想法吗?
【问题讨论】:
-
您可能会通过称呼他们为“神”来吓跑一些潜在的回答者。我们大多数人只是半神,充其量是
:)更严重的是,如果没有更多信息,恐怕您的问题将难以诊断。您能否对其进行编辑并添加您的典型工作流程所包含的命令序列? -
@Jubobs 感谢您的评论!将“神”更改为“朋友”以使问题更容易理解;)另外,我添加了对我所做工作的分步描述:)
-
git statusin~给了我一个致命错误,说它不是存储库。如果您的意思是~/www,它会告诉我有一些更改尚未提交,这似乎很奇怪。 -
可能相关:我将
receive.denyCurrentBranch设置为ignore。 -
推送到非裸存储库中的签出分支通常不是您想要做的