我可以将git存储库的一部分推送到远程存储库吗?

我可以将git存储库的一部分推送到远程存储库吗?,git,azure,workflow,Git,Azure,Workflow,我正试图找出一个工作流程,这样我就可以相对轻松地推送到例如Windows Azure。我有一份Git回购协议,如下所示 .git/ srcDir/ -someFileThatShouldNotBeUploaded deployDir/ -someFileThatNeedsToBeDeployedToRootFolder -anotherFileThatNeedsToBeDeployedToRootFolder 我只想将deployDir作为根目录推送到远程repo,例如Azure

我正试图找出一个工作流程,这样我就可以相对轻松地推送到例如Windows Azure。我有一份Git回购协议,如下所示

.git/
srcDir/
  -someFileThatShouldNotBeUploaded
deployDir/
  -someFileThatNeedsToBeDeployedToRootFolder
  -anotherFileThatNeedsToBeDeployedToRootFolder
我只想将
deployDir
作为根目录推送到远程repo,例如Azure


我怀疑这是可能的使用
子树
,几乎达到了目的,但它集中精力将子目录移植到单独的回购协议中,从而将其从原始目录中删除。At还通过使用一个分支使事情变得复杂,我不是100%确定这是必要的…

除非你非常精通,否则不要使用git


使用标准文件传输协议传输文件。

deployDir中初始化新的repo,并从deployDir运行push命令


因此,您可以对应用程序的版本进行控制。

从纯git的角度来看,这有点棘手

但是从Azure网站的角度来看,您可以通过使用repo根目录下的.deployment文件来选择将存储库的哪些部分实际部署到网站。查看更多信息

在您的情况下,文件将如下所示:

[config]
project = deployDir

推动历史要么全是,要么什么都不是。因此,推送历史片段(仅包含部分文件)的唯一方法是创建不包含其他文件的存储库的筛选副本。我建议使用另一种方法来部署文件,例如,使用rsync。当然,这意味着您不是要推送到远程存储库,而是文件的远程目录……我发现,
git subtree push--prefix=deployDir origin master
实际上可以工作。在Azure上,远程目录似乎是一个运行提交后签出钩子的裸目录-但这似乎不适用于普通的repo。。。