2013-03-15 93 views
0

我正在構建具有更新(或升級)功能的應用程序,我想使用git將僅更改過的文件拉出並壓縮(這將從命令行完成) 。這個過程會是什麼?僅獲取已更改的文件

+0

http://stackoverflow.com/questions/4126300/git-how-to-get-all-the-files-changed-and-new-files-in-a-folder-or-zip這可能有幫助 – pktangyue 2013-03-15 16:21:17

+0

自何時更改過的文件?以前的提交?目前的版本? – Arjan 2013-03-15 16:23:12

+0

我知道'git'中有一個'merge'選項。看看[這從GitHub](https://help.github.com/articles/syncing-a-fork)。 – Geremia 2014-05-26 20:21:36

回答

0

你可以做這樣的事情:

git pull 
zip modified-files.zip $(git diff --name-only HEAD HEAD~1) 
+0

這將無法正常工作,因爲它會拉動所有對象,我只能修改已更改的文件。 – TheWebs 2013-03-15 17:01:02

+0

正如@Arjan之前所說:「改變」是什麼意思?我認爲你是指最近一次修訂所做的更改。 – mkrnr 2013-03-15 17:05:37

+0

實際上這是你想要的,你只是沒有看到它。 Git pull會更新到最新的快照。如果自上次拉出以來只有一半文件已更新,那麼只有那些文件實際上將從遠程傳輸到本地回購。唯一的缺點是HEAD HEAD〜1部分,這是不夠普遍的,因爲在最後一次拉動中可能會有任意數量的提交。 – 2013-03-15 17:06:17

0

只要你不必編譯代碼(比方說,光有資源是OK),我認爲SVN更好地適應你想要什麼。

使用git,默認行爲是下載您的回購缺乏的遠程中的每個對象。

SVN將只下載在當前修訂版和目標修訂版之間更改的文件。

我不認爲我已經理解了「zip up」部分 - 你想壓縮什麼?即將到來的變化?對本地文件所做的更改?

+0

我拒絕使用svn,除非我可以將它與git集成來做到這一點,通過zip up我的意思是使所有更改的文件存檔。 – TheWebs 2013-03-15 17:01:29

+0

@TheWebs,但您希望您的客戶端首先下載更新,然後將更改後的文件壓縮,全部在客戶端? – mgarciaisaia 2013-03-15 17:42:12

+0

不,我拉改變,我拉起來,我主持的變化,你下載什麼提出 – TheWebs 2013-03-15 18:23:05