我有一个git存储库,用于存储我经常使用的模板文件,几天前我检查了最新版本并对这些模板文件进行了本地更改。
我刚刚更改了模板文件主存储库,现在我想查看我的主分支的最新版本,但我不希望删除我的本地更改。
如何将主分支中的更改合并到我的工作副本中?
答案 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