Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Git部署已更改的文件_Git_Svn_Deployment_Tortoisegit - Fatal编程技术网

使用Git部署已更改的文件

使用Git部署已更改的文件,git,svn,deployment,tortoisegit,Git,Svn,Deployment,Tortoisegit,我是从SVN来到Git的。以前为了更新一些生产站点,我使用TortoiseSVN比较了从生产站点到HEAD的版本,将更改/添加的文件导出到临时目录中,然后将它们上传到生产服务器上 是否可以使用Git(TortoiseGit)复制相同的文件?为什么不将您的生产站点设置为Git签出,然后部署添加/更改的文件,只需Git pull?更多的是关于文件的,并且,使用Git,您必须比较两个主分支(不只是指向同一SVN中央回购的同一分支机构的两次承诺) 如果您在服务器上直接安装了git,则可以使用origin

我是从SVN来到Git的。以前为了更新一些生产站点,我使用TortoiseSVN比较了从生产站点到HEAD的版本,将更改/添加的文件导出到临时目录中,然后将它们上传到生产服务器上


是否可以使用Git(TortoiseGit)复制相同的文件?

为什么不将您的生产站点设置为Git签出,然后部署添加/更改的文件,只需Git pull?

更多的是关于文件的,并且,使用Git,您必须比较两个
分支(不只是指向同一SVN中央回购的同一分支机构的两次承诺)

如果您在服务器上直接安装了git,则可以使用origin/master(开发repo的一个)重新设置主服务器(服务器repo的主服务器)的基础
或者,您可以将prod master HEAD重置为原点/主控形状,并添加文件,如图所示

但是,如果您在开发方面只有Git,这是明智的,那么您可以:

  • 代表一个生产端(prod1/master)的回购协议的克隆版本(例如称为“prod1”)
  • 或您自己的回购协议中的分支机构(称为“prod1\u master”)
在这两种情况下,您都需要列出在prod1和master之间更改的所有文件:

 git diff --list-only prod1/master
 git diff --list-only prod1_master

将这些文件导出到一个临时目录中,您可以在prod端对其进行压缩和解压缩。

+1.如果我也使用Subversion,我会做完全相同的事情。因为:1.该服务器上没有安装Git;2.从我以前的SVN过期情况来看,我发现主干(或主分支)并不总是稳定的(特别是当您不是唯一的开发人员时)。部署某些特定文件/更改而不是整个存储库更安全、更快。在服务器上安装Git(有XCopy deploy的可移植版本),然后创建一个可以合并到的“生产”分支,然后从该分支中提取服务器。