2012-04-11 229 views
1

如果我在網站上下載了一個示例項目(不是Git託管),並且我創建了一個分支並對此項目進行了一些提交。然後,原作者做了一些更新到這個項目,並在網站上發佈...Git合併來自非託管項目

現在我怎麼能合併此更新(不Git託管)到我的Git託管項目?

我是VCS/Git的新用戶。

謝謝。 Raymond

回答

1

創建第二個分支,該分支從您開始的原始SHA(在進行任何更改之前)開始。

檢查出該分支。

用新版本的外部代碼替換工作目錄的內容。

git add .git add -u階段所有的變化和清除。

提交。

退房原來的分公司,並在合併的第二個分支。

+0

謝謝。你的意思是我只是使用「複製和粘貼」來替換文件和文件夾?如果作者重命名或刪除了一些文件/文件夾怎麼樣? – RRN 2012-04-11 07:24:53

+0

您應清除工作目錄的內容,然後複製新版本。這樣重新命名和刪除將得到正確的拾取。 – Amber 2012-04-11 17:41:37

+0

我可以找出爲什麼Git可以'知道'文件刪除,但它如何找到重命名的文件?謝謝。 – RRN 2012-04-11 18:28:04

0
  1. 創建一個新的分支,並切換到新的分支

    git branch AuthorUpdate

    git switch AuthorUpdate

  2. 複製/粘貼所有文件更改和提交。不幸的是,任何文件重命名或刪除不會被拿起。

    git add .

    git commit -am 'new changed by original author'

  3. 切換到主分支和合並它

    git checkout master

    git merge AuthorUpdate

如果代碼中有任何衝突,您可能需要手動解決它們。你可以找到更多的細節http://progit.org/book/ch3-2.html

+0

如果我刪除*,你認爲它會更好嗎?*粘貼文件前從工作目錄中? – RRN 2012-04-11 07:56:42

+0

否。粘貼文件後,您可以使用'git status'和'git diff'在提交之前跟蹤更改。更多詳情:http://progit.org/book/ch2-2.html – seanbun 2012-04-11 23:46:12

+0

對不起@RRN。琥珀是對的。她的解決方案會更有效率。 – seanbun 2012-04-12 23:57:30