Git仓库管理与补丁使用全解析
1. 选择仓库起点的困境与解决办法
在面对众多最终会为一个项目做出贡献的仓库时,确定从哪里开始开发可能是一件困难的事情。你或许会纠结是直接基于主仓库进行开发,还是选择其他人专注于特定功能的仓库,亦或是某个发布仓库的稳定分支。
如果对Git如何访问、使用和更改仓库没有清晰的认识,你可能会陷入“因害怕选错起点而无法开始”的困境。又或者你已经基于所选仓库的克隆版本开始了开发,后来却发现这并非正确的选择。虽然它与项目相关,甚至可能是个不错的起点,但可能缺少其他仓库中存在的某些功能。这种情况甚至可能要到开发周期的后期才会被发现。
另一个常见的起点困境源于项目功能在两个不同仓库中同时开发。这两个仓库单独来看,都不是你工作的理想克隆基础。
你可以选择继续推进,期望自己的工作和各个仓库中的工作最终能统一并合并到一个主仓库中。不过要记住,分布式开发环境的一个优势就是能够进行并发开发,你可以充分利用其他已发布仓库中早期版本的工作。
此外,如果你选择了一个处于开发前沿的仓库,可能会发现它过于不稳定而无法支持你的工作,或者在开发过程中该仓库被弃用。
幸运的是,Git支持这样一种模式:你可以从项目中任意选择一个仓库作为起点,即使它并不完美,然后对该仓库进行转换、修改或扩充,直到它包含所有所需的功能。如果你之后想将自己的更改分离回不同的上游仓库,可能需要谨慎而细致地使用单独的主题分支和合并操作,以确保一切井然有序。
一方面,你可以从多个远程仓库获取分支并将它们合并到自己的仓库中,从而获得现有仓库中其他地方可用的功能组合。另一方面,你可以将仓库的起点重置到项目开发历史中已知的稳定点。
2. 转换到不同的上游仓库
最