Git如何在保持主存储库更改的同时开发自己的软件版本

时间:2013-12-15 09:16:51

标签: git github

我想(fork?branch?)在开源存储库上开发自己的功能,同时保持对主存储库的更改

例如 Main_repository<原始开发人员在哪里开展工作 MyRepo<我对Main_repository副本进行更改的地方。

我想要实现的是拥有我的存储库,同时允许我将更改从原始存储库合并到我的存储库。

有可能吗?阅读一下git的fork和branch,但不确定它们中的哪一个(如果有这些选项有这种可能性)。

我正在使用SourceTree,私有Repo,原始存储库在GitHub上。我希望我的fork / branch位于私有存储库。

是否有可能像来自不同服务器的2个存储库一样“链接”?

2 个答案:

答案 0 :(得分:0)

首先要“克隆”存储库,这样您就可以将远程存储库放入存储库。

每次更改后 - 您需要执行git add,当您满意时,请“提交”到您的本地存储库。

如果您认为在某些时候原始存储库已被修改,您可以git pull(仅在提交后)进行更新。

答案 1 :(得分:0)

当您不是原始项目/ repo的直接参与者时,标准Github练习是分叉原始仓库以创建您自己的分叉(远程)仓库。接下来,您将克隆您的分叉(远程)仓库到本地计算机,以便您有一个本地工作区/仓库来进行更改。您将对本地工作区/仓库进行更改,并定期将提交从本地仓库推送回远程仓库。

为了使您的fork repo与原始repo保持同步,您将为本地工作区提供第二个远程仓库,即您的本地仓库将跟踪2个远程仓库 - 您的分叉仓库(最初创建本地工作空间时的设置) / repo)和原始仓库(您手动添加)。您将从原始仓库中删除更改,将它们与您在本地工作区/仓库中的更改合并,然后将合并的更改推回到分叉仓库。

Github在此详细解释:

https://help.github.com/articles/syncing-a-fork

  

设置

     

在同步之前,您需要添加一个指向该遥控器的遥控器   上游存储库。你最初可能已经这样做了   分叉。 ...

     

同步处理

     

将资源库与资源库同步需要两个步骤   上游:首先必须从远程获取,然后必须合并   所需的分支到您当地的分支机构。   ...

     

撷取

     

从远程存储库中获取将引入其分支和   他们各自的承诺。这些存储在本地存储库中   在特殊的分支机构...

     

合并

     

现在我们已经获取了上游存储库,我们想要合并它   改变我们当地的分支机构。这将使该分支同步   与上游,不失我们的本地变化。 ...