如果我在網站上下載了一個示例項目(不是Git託管),並且我創建了一個分支並對此項目進行了一些提交。然後,原作者做了一些更新到這個項目,並在網站上發佈...Git合併來自非託管項目
現在我怎麼能合併此更新(不Git託管)到我的Git託管項目?
我是VCS/Git的新用戶。
謝謝。 Raymond
如果我在網站上下載了一個示例項目(不是Git託管),並且我創建了一個分支並對此項目進行了一些提交。然後,原作者做了一些更新到這個項目,並在網站上發佈...Git合併來自非託管項目
現在我怎麼能合併此更新(不Git託管)到我的Git託管項目?
我是VCS/Git的新用戶。
謝謝。 Raymond
創建第二個分支,該分支從您開始的原始SHA(在進行任何更改之前)開始。
檢查出該分支。
用新版本的外部代碼替換工作目錄的內容。
git add .
和git add -u
階段所有的變化和清除。
提交。
退房原來的分公司,並在合併的第二個分支。
創建一個新的分支,並切換到新的分支
git branch AuthorUpdate
git switch AuthorUpdate
複製/粘貼所有文件更改和提交。不幸的是,任何文件重命名或刪除不會被拿起。
git add .
git commit -am 'new changed by original author'
切換到主分支和合並它
git checkout master
git merge AuthorUpdate
如果代碼中有任何衝突,您可能需要手動解決它們。你可以找到更多的細節http://progit.org/book/ch3-2.html
謝謝。你的意思是我只是使用「複製和粘貼」來替換文件和文件夾?如果作者重命名或刪除了一些文件/文件夾怎麼樣? – RRN 2012-04-11 07:24:53
您應清除工作目錄的內容,然後複製新版本。這樣重新命名和刪除將得到正確的拾取。 – Amber 2012-04-11 17:41:37
我可以找出爲什麼Git可以'知道'文件刪除,但它如何找到重命名的文件?謝謝。 – RRN 2012-04-11 18:28:04