2010-01-19 58 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