2012-05-21 177 views
3

我有一個git存儲庫,我存儲了我經常使用的模板文件,幾天前我做了最新版本的簽出,並對這些模板文件進行了本地更改。git合併文件到工作副本

我剛剛對模板文件主存儲庫進行了更改,現在我想簽出主分支的最新版本,但我不希望刪除本地更改。

如何將主分支中的更改合併到我的工作副本中?

回答

8

要充分利用合併(或重訂)的git的戰術,你可以提交更改到本地倉庫,然後拉。拉遠導致遠程和本地存儲庫之間的合併,這可能是一個快進或一個遞歸合併,取決於上游的更改。你甚至可能想爲此創建一個新的分支(如果你想要的話,你可以將它推到原點而不影響主分支)。

隱藏可以幫助你在這裏,但你運行存儲的風險不能拉後拉。

簡單的例子:

git add . 
git commit -m 'My local template changes' 
git pull origin master # fix any conflicts 

新分支例如:

git checkout -b newbranch 
git add . 
git commit -m 'My local template changes' 
git pull origin master # fix any conflicts 

後者合併在master遠程更改到本地newbranch,但請記住,在這種情況下,你的本地副本master仍然會落後(也就是說,如果您之後做了git checkout master,您仍然需要git pull才能獲得更改)。

2

您可以隨時在儲藏中保存本地更改,提取最新更改並再次應用保存的更改。

git stash  -- save your local changes 
git pull  -- get latest changes from remote 
git stash pop -- apply your saved changes 
相關問題