github克隆

github克隆原仓库后修改并保持同步的方法

问题描述

这个问题新手很容易遇到,场景大概是这样的:

我们在github上看到了其它作者的优秀开源项目,想拿过来部署,但是fork得仓库最多只能部署3个站点,但是我们可能需要部署更多站点。比如NextChat这个项目,我们可能需要改改里面的标题,给好多人部署使用,3个远远不够。这时候我们就可以用clone的方式解决这个场景。

操作步骤

1、创建并克隆新仓库

在 GitHub 上创建一个空的仓库,比如 my-ABC-project,然后在你的电脑上克隆这个仓库:

				
					git clone <你的新仓库URL>
cd my-ABC-project
				
			

2、添加上游仓库

将原项目ABC作为上游仓库添加,这样你可以从它那里获取更新:

				
					git remote add upstream <原项目ABC的地址>
				
			

3、拉取上游仓库(不合并)

拉取上游仓库的代码,但不进行合并:

				
					git fetch upstream

				
			

4、将上游的历史记录与自己新建的仓库融合

将上游的代码与刚才创建的空仓库的 main 分支结合起来:

				
					git merge upstream/main --allow-unrelated-histories
				
			

由于历史记录不一致,我们需要使用 --allow-unrelated-histories 选项来强制合并这些彼此无关的历史记录。

5、 推送初次合并结果到自己的仓库

现在将合并后的内容推送到你在 GitHub 上新建的仓库:

				
					git push origin main
				
			

6、之后的更新操作

当原项目ABC有更新时,你可以使用以下步骤来同步:

首先,拉取上游仓库的更新:

				
					git fetch upstream
				
			

然后,将上游的更新与本地代码合并:

				
					git merge upstream/main
				
			

最后,解决任何可能的冲突,提交代码并推送到你自己的仓库:

				
					git add .
git commit -m "Merge updates from upstream"
git push origin main
				
			

通过上面的步骤,你可以顺利地将原项目的历史记录与自己新建的仓库历史记录融合起来。以后你就可以方便地从上游仓库获取更新,并进行合并了。

全文结束