我不知道的事';不要使用Git——推拉和嵌套存储库

我不知道的事';不要使用Git——推拉和嵌套存储库,git,nested,Git,Nested,我有这样一个场景: Dev是我用来开发的机器,我在上面创建了一个git repo并定期提交给它 Staging是我用来上传“稳定”版本作品的服务器,我也在那里创建了一个repo,并将此服务器添加到Dev远程repo 每当我想要推送时,我只需使用$git push Staging master,这会立即出现在服务器上,但为了使用新代码,我需要执行$git reset--hard HEAD,否则git会认为我已经编辑了Staging上的文件,而我没有“新”文件 我也没有得到Git中的子模块部分-我尝

我有这样一个场景:

Dev
是我用来开发的机器,我在上面创建了一个git repo并定期提交给它

Staging
是我用来上传“稳定”版本作品的服务器,我也在那里创建了一个repo,并将此服务器添加到
Dev
远程repo

每当我想要推送时,我只需使用
$git push Staging master
,这会立即出现在服务器上,但为了使用新代码,我需要执行
$git reset--hard HEAD
,否则git会认为我已经编辑了
Staging
上的文件,而我没有“新”文件

我也没有得到Git中的子模块部分-我尝试了一些技术,主要是
Git子模块添加local/sub/dir/下划线
,但是除了转储当前系统
$PATH
值之外,我没有得到任何结果


非常感谢您的帮助!:)

关于子模块,我建议阅读

关于子模块的相关章节,我建议阅读

的相关章节。对于那种设置,您不应该需要子模块,在这种设置中,您将一个repo从一个环境(Dev)复制到另一个环境(Staging),有点像“”

您的过程(添加远程和推送)是正确的,但您应该:

  • 推倒
  • 有一个post-receive钩子,能够用最新的commi内容更新一个单独的工作树

(或者您)

您不应该需要子模块来进行这种f设置,您可以将一个repo从一个环境(Dev)复制到另一个环境(Staging),有点像“”

您的过程(添加远程和推送)是正确的,但您应该:

  • 推倒
  • 有一个post-receive钩子,能够用最新的commi内容更新一个单独的工作树

(或您)

当您推送到远程回购时,它不会自动更新临时服务器上的工作副本。通过使用“重置”命令,您可以将工作副本更新到您之前推送的头部修订


我认为您可以在服务器端使用一个钩子简化此设置,该钩子在推送之后执行。

当您推送到远程repo时,它不会自动更新临时服务器上的工作副本。通过使用“重置”命令,您可以将工作副本更新到您之前推送的头部修订


我认为你可以在推送之后在服务器端执行一个钩子,从而简化这个设置。

这应该是两个问题,真的,特别是因为后者听起来很奇怪-可能需要更多细节,包括你看到的确切命令和输出。(还有git版本、您的操作系统和您正在使用的shell都会很有帮助。)这应该是两个问题,真的,特别是因为后者听起来很奇怪——可能需要更多细节,包括您看到的确切命令和输出。(另外,git版本、您的操作系统以及您正在使用的shell也会有所帮助。)