我们在使用git源代码管理的时候,不可避免会遇到换仓或者本地仓的记录推送到一个新建的远程仓中,这时候是无法直接推送的,需要解决历史数据合并的问题。
常见的错误:fatal: refusing to merge unrelated histories
解决方案一:如果你还没有进行将线上代码拉到本地,第一次关联本地仓和线上仓时,第一次进行拉取遇到了这个问题:那么可以使用git拉取命令:添加允许合并历史的选项,进行历史数据合并:
git pull origin master --allow-unrelated-histories
(sourcetree中可以在命令行模式中操作)
解决方案二:如果你已经使用sourcetree强行把线上仓拉下来了,而本地记录也有的话,那么你可以找到你历史的最新记录,右键点击sourcetree的遴选功能,将当前记录的文件同步过来,不过该功能可能会导致丢失历史数据。注意风险