4
我的資料庫看起來像這樣。如何將一個項目的新版本導入到我的git存儲庫中?
v1 - A - B - C ...
在提交v1
代表upstream-project-foo-0.9.8.tar.gz
內容和提交A,B ......是我的修改。
目標是升級我的upstream-project
副本並將提交A,B,C ...移植到它。
如何將upstream-project
tarball的新版本作爲另一個分支獲取到我的git存儲庫中?或者我應該考慮製作第二個git存儲庫?
在解壓tarball之前,你可能想要'git rm -r .'(這樣* v1 * commit中存在但不存在於新的tarball中的路徑名(即已刪除/重命名的文件)不會保留在*上游*分支)。 – 2010-10-16 22:36:42
@Chris我的理解是,添加-A涵蓋了每個這篇文章:http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add – 2010-10-17 00:58:59
圖像兩個tarballs:'oldversion .tar.gz'具有文件'a'和'b'; 'newversion.tar.gz'有文件'a'和'c'(不是'b')。如果你只是在「舊」之上解壓「新」,你將同時擁有「b」和「c」。您需要清除任何「舊」,但不是「新」的東西。最簡單的方法是刪除「舊」的所有內容,然後解壓縮(並通過「-A」添加任何附帶「新」的內容)。 'git add -A'會從工作樹中不存在的索引路徑名中刪除,但如果你只是將後者解壓到前者,它不能識別「舊」但不是「新」的路徑名。 – 2010-10-17 04:59:54