首页 > 解决方案 > Github:合并 github 存储库时保持本地文件不变

问题描述

我可以访问经常更新的公共存储库。在我的本地合并存储库中,我必须对某些特定文件进行一些更改以满足我的要求。

我的问题是,每次拉取原始存储库时,我本地更改的文件也会丢失。

如何保持本地存储库更新并且不允许更新“本地更改的文件”?

基本上我需要获取仅在远程存储库中更改的新文件,而不是在我这边更改的文件。

更新:建议的解决方案(Git Pull While Ignoring Local Changes?)与我的实际要求不同,因为来自链接帖子的用户想要 git pull 完整的存储库并“覆盖”他所做的任何本地更改。就我而言,我想定义一些在本地更改的文件不会被 git pull 更改。

我想保持一些本地更改的文件不变,并 git pull 剩余的存储库

标签: gitgithubmergegit-merge

解决方案


一种干净利落的方法是使用 git-rebase。

本质上,您会将本地存储库重置为远程公共存储库的(更新)版本,然后在顶部再次应用您的更改。这样,您的更改将始终位于远程仓库的副本之上master

假设您当前有一个包含您的更改的 repo,工作流程将如下所示:

git fetch
git rebase origin/master
... [fixup any conflicts you see when trying to reapply your changes]

有关更多详细信息,请参阅rebase的描述。


推荐阅读