git将文件合并到工作副本中

时间:2012-05-21 20:00:53

标签: git git-merge

我有一个git存储库,用于存储我经常使用的模板文件,几天前我检查了最新版本并对这些模板文件进行了本地更改。

我刚刚更改了模板文件主存储库,现在我想查看我的主分支的最新版本,但我不希望删除我的本地更改。

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

2 个答案:

答案 0 :(得分:8)

要充分利用git的合并(或rebase)策略,您可以将更改提交到本地存储库然后拉取。 Pull会导致远程和本地存储库之间的合并,这可能是快进或递归合并,具体取决于上游更改。您甚至可能希望为此创建一个新分支(如果需要,可以将其推送到原点而不影响主分支)。

藏匿可以帮助你,但是你可能会冒着被拉后不能施加藏匿的风险。

简单示例:

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才能获得更改。

答案 1 :(得分:3)

您可以随时在藏匿处保存本地更改,提取最新更改,然后再次应用已保存的更改。

git stash     -- save your local changes
git pull      -- get latest changes from remote
git stash pop -- apply your saved changes