Git常见错误
git pull study-demo master
From gitee.com:chen-jankin/study-demo
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
出现这种问题一般是本地仓库与远程仓库是不相关的两个仓库。
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'gitee.com:chen-jankin/study-demo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
出现这种情况可能是因为远程仓库的代码版本高于本地仓库,需要手动pull,将本地仓库更新到最新版本。
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
出现这个异常,可能是远程仓库的SSH密钥与本地的不匹配,需要更新远程仓库中的SSH
Hi Jankin! You've successfully authenticated, but GITEE.COM does not provide shell access.
出现这种问题,你可能需要先将远程仓库中的代码先拉下来
$ git pull study-demo
You asked to pull from the remote 'study-demo', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
需要在仓库名后面加上分支名
一、下拉远程仓库代码时,报“拒绝不相干仓库合并”
git pull study-demo master
From gitee.com:chen-jankin/study-demo
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
错误前提:
1、在本地创建文件夹后通过git init初始化git
2、创建了一个txt文件
3、将仓库提交到本地仓库
4、突然想到练习的时候没有将远程仓库的数据拉下来,应该要先拉下来的。
5、输入了
git pull study-demo master
报错了,提示不能将远程仓库与不知名的本地仓库合并。
原因
我先是在本地建立了一个仓库,这个仓库是独立的,而远程仓库也是独立的,不能将本地与远程两个毫不相干的仓库合并。
解决办法:推荐第二种
第一种
不相干,那就让他相干,你是A,我是B,呵呵,那我就把你变成B -_-
方法:使用push方法,将本地的仓库强行上传本地仓库,这样你之后的pull就肯定能行。
git push -f study-demo master
副作用:自己仓库玩玩就好,若是这个远程仓库只是你自己的,那么你远程仓库中的所有数据将被删除,无法恢复,将相当于删档了,重新开始,需要你在本地仓库中找原对应的仓库,上传上去,若被你删除了,那就没得玩了。
尝试了以下:gitee中的历史记录全没了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2SxgyQVu-1634011503712)(C:\Users\月下丶无痕\Desktop\Git自学\img\方法一git现状.png)]
幸好我远程的仓库在本地上还有
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHgqAtOH-1634011503714)(C:\Users\月下丶无痕\Desktop\Git自学\img\方法一恢复后.png)]
但是,恢复后在回到新创建的仓库又回到的原点
$ git pull study-demo master
From gitee.com:chen-jankin/study-demo
* branch master -> FETCH_HEAD
+ d5116dc...16910f6 master -> study-demo/master (forced update)
fatal: refusing to merge unrelated histories
第二种
在下拉时,设置为允许不相关的仓库合并
$ git pull study-demo master --allow-unrelated-histories
上一种方法你是矛,远程仓库是盾,而这一种,远程仓库是矛,你是盾。
相比,好像更行。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HltXjszO-1634011503716)(C:\Users\月下丶无痕\Desktop\Git自学\img\第二种方法1.png)]
文件已经出现在本地仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JofGhMxc-1634011503718)(C:\Users\月下丶无痕\Desktop\Git自学\img\第二种方法2.png)]
第三种
这不是解决上述方法,而是避免这种情况的发生,若是本地没有远程仓库代码,应该是先克隆远程仓库代码,而不是创建后才想着合并。
git cline study-demo
在每次使用之前都应该将远程仓库中的数据拉下来,更新版本
git pull study-demo master
不然处理代码冲突的可能性会很高。
况的发生,若是本地没有远程仓库代码,应该是先克隆远程仓库代码,而不是创建后才想着合并。
git cline study-demo
在每次使用之前都应该将远程仓库中的数据拉下来,更新版本
git pull study-demo master
不然处理代码冲突的可能性会很高。