2012-05-21 117 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 
相关问题