解决git中fork别人的仓库但是显示冲突无法自动合并的问题

有两种方式进行,最快的是直接
git clone 那个远程的仓库,本内容主要讲解后一种方式的。

首先,对于Fork到本地的仓库,需要新建两个分支:

git checkout -b master 
git checkout -b NewMaster

随后添加远程仓库,添加的仓库有两个,一个是自己fork完之后的自己的仓库链接,一个是fork别人的链接。

git remote add origin "自己的链接"
git remote add origin1 "fork的那个链接"

切换到NewMaster分支,拉去仓库内容,若是显示
fatal: refusing to merge unrelated histories,则需要在pull那里添加参数

git checkout NewMaster
git pull origin1 master --allow-unrelated-historie

切换回Master分支,并将NewMaster分支合并到一块

git merge NewMaster

此时就可快乐的将仓库内容提交到远程仓了,冲突问题完美解决

git add .
git commit -m "解决冲突"
git push master origin

!注意各个部分的origin是什么

### 解决 Git Fork 过程中遇到的错误及合并冲突 #### 使用 Mergetool 工具处理冲突 当面对Git中的合并冲突时,启动`mergetool`工具来检查和解决这些冲突是一个有效的方式[^1]。通过命令 `git mergetool` 可以调用图形化界面帮助开发者更直观地理解文件差异并作出适当调整。 #### 手动拉取更新后的对比操作 值得注意的是,在Git环境中,不像SVN那样能够自动检测到版本库之间的不一致之处;相反,Git要求用户主动执行`pull`请求获取最新的改动信息后才能识别潜在冲突位置[^2]。因此建议定期从远端仓库抓取消息保持本地副本最新状态。 #### 更新Forked Repository 的流程 对于已经完成了GitHub上项目分叉(fork)动作的情况而言, 若希望使自己的派生版与原始存储库同步,则需遵循如下步骤: - 首先确保所有未推送至远程服务器上的变更已被妥善保存; ```bash git checkout master git add . git commit -m "Update before sync" ``` - 推送以上更改 ```bash git push origin master ``` - 添加一个新的名为`upstream`的远程地址指向官方源码库以便后续追踪其变动情况 ```bash git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git ``` - 获取来自上游(upstream)项目的最新数据而不直接应用任何改变 ```bash git fetch upstream ``` - 将上述获得的内容集成进当前工作目录下指定分支内(这里假设为'master') ```bash git merge upstream/master ``` - 如果在此期间遇到了冲突提示,请参照前文提到的方法利用`mergetool`或其他手段加以修复,并最终完成整个过程: ```bash git commit git push origin master ``` 这样就可以成功解决Git fork过程中可能出现的各种问题以及如何有效地应对合并冲突的情形了[^3][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值