git 合并非关联分支

面对的场景:现在有三个仓库,一个是本地的仓库1,第二个是和仓库1关联的在github上的仓库2,第三个是把仓库1拷贝到一个无网络环境中持续开发一段时间的仓库3.

分析

基本想法是把仓库3作为仓库1的远程仓库,然后在仓库1上pull。
在这里插入图片描述
但是添加远程仓库的时候报错了。
再一想能不能直接pull这个仓库3呢?
在这里插入图片描述
不能合并两个没有关联仓库。
加上–allow-unrelated-histories就可以了,合并之前先开了一个新的分支,在新分支上合并
在这里插入图片描述
下面就是解决冲突了。
最后的结果就是下面这样了
在这里插入图片描述

如果想要修改另外分支提交的用户名和邮箱,可以参考下面的链接。
git重写历史
git bash中输入下面的内容,把author 和 committer都改掉

git filter-branch --env-filter '
OLD_EMAIL="xxx@yyy.com"
CORRECT_NAME="wu ming"
CORRECT_EMAIL="hello@hello.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值