我是 git 新手。我所做的是分叉了几个我感兴趣的存储库,然后将它们克隆到我的计算机上以使用它们。
一些原始项目可能会因为我弄乱我的本地副本而显着更新,或者我可能会进行一些微不足道的更改。
据我了解,我可以“重新定位”我的克隆以“拉动”原始的更改。
这对我的更改有什么影响?例如,假设有一个DoSomething.cpp
原始文件。我修改它,也许修复一个小错误或添加一个功能。现在!1年后,原来的项目经过多次修改,好多了。我想将这些更改“拉”到我的克隆中,但也要保留我的更改!(所以这有点与推动相反)
这很容易做到吗?如果是这样,基本思想是什么?
我想要的是我的克隆与原始克隆的任何更改(我已更改的内容)都不会被覆盖,但我实际上可以将我的更改与原始克隆(在我的 fork 上)合并,并能够实际检查和接受更改。(例如,如果DoSomething.cpp
在原件上进行了更改,那么我需要比较更改以确保它们兼容。
我想这并不难,因为我是 fork 的所有者,我可以对其进行 rebase 或硬重置,然后将我的本地更改推送到我的 fork?(不确定它是否会起作用,因为版本控制问题的可能性很大)