2010-01-19 56 views
3

我从SVN来到Git。之前为了更新一些生产站点,我使用TortoiseSVN将生产版本的修订版本与HEAD进行了比较,将更改/添加的文件导出到临时目录,然后将它们上载到生产服务器上。使用Git部署更改的文件

是否有可能使用Git(TortoiseGit)重现相同的内容?

回答

3

compare Dialog of TortoiseGit更多的是关于文件,并使用Gi​​t,你如果直接让Git来比较两个master分支

(同一分支都指向同一个SVN中央回购的不仅两次提交)在服务器上,您可以使用原点/主设备(开发回购之一)重新绑定您的主服务器(服务器回购)
或者您可以将您的prod主设备头重置为原点/主设备并添加文件,如described here

但是,如果你在开发方面,这是明智的做法有唯一的Git,你可以有:

  • 克隆版本(称为“PROD1”例如)代表您的制作方之一的回购( PROD1 /主)
  • 或您自己的回购协议中的某一分支(称为“prod1_master”)

在这两种情况下,你需要列出那些PROD1和主站之间改变的文件:

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

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

2

你为什么不让你的生产网站成为Git结帐,然后部署添加/更改的文件,你只是git拉?

+0

+1。如果我使用Subversion,我也会做同样的事情。 – 2010-01-19 18:54:34

+0

因为: 1. Git未安装在该服务器上; 2.从我以前的SVN expirience中,我发现trunk(或master branch)并不总是稳定的(特别是当你不是唯一的开发者时)。部署一些特定文件/更改但不是整个存储库更安全快速。 – 2010-01-20 09:12:56

+1

在服务器上安装Git(有XCopy部署的可移植版本),然后创建一个可以合并到的“生产”分支,然后从该分支获取服务器。 – 2010-01-20 19:44:20