我想出了一个关于git push的问题.它以前运作成功,但这次失败了.一开始,我在我的主人MINGW64 /d/javasoft/apache-tomcat-7.0.70/webapps/MyNote (master)
,然后,
git remote add origin用来联系我的远程来源,但它警告说fatal: remote origin already exists.git remote rm origin(有人告诉我),没关系.git remote add origin https://github.com/***/***.git再次使用.没关系.git push -u origin master(我试过git push origin master,但我.git之前由于某种原因丢失了我的本地整体,所以我想这可能是第一次推,我应该补充-u).但它会发出警报error: failed to push some refs to 'https://github.com/***/***.git' git pull origin master在使用之前我应该使用push,而且我这样做了.但是,它警告:fatal: refusing to merge unrelated histories.fatal: Couldn't find remote ref –allow-unrelated-histories真的不知道怎么办......只想推..
max*_*630 77
这不能很快回答.
警告:除非您知道什么是不相关的历史记录并确定需要,否则不应使用该--allow-unrelated-histories标志.引入检查只是为了防止人们错误地合并无关项目时的灾难.
据我了解,在您的情况下发生了以下情况:
你已经克隆了一个项目1,并进行了一些开发2.与此同时,项目已经发展到一定程度3.
然后你出于某种原因失去了你的本地git的子目录-其中载有所有的历史1来2.您设法恢复当前状态.
但现在它没有任何历史 - 看起来整个项目无处不在.如果你要求git合并它们,它将无法说明你的更改在哪里,所以它可以将它们添加到远程项目,据我所知,它只会报告大量的添加/添加冲突.
你现在应该做的是1从你已经克隆项目的远程历史中找回那个提交(我假设你之后没有拉,如果你这样做,那么你应该寻找你已经提取的最后一个提交).然后你应该修改你的历史,以便从那个提交1开始,然后git将能够正确合并(例如拉).
所以,这些步骤(假设你现在处于没有历史记录的恢复提交中):
1您从某些方面克隆的1?提交位置git diff _1?_..HEAD,并仔细阅读,确保差异仅包含您所做的编辑.如果它包含更多,那么你应该选错了1?,需要调整它并重复这一步1,你应该把它作为你的父母git --reset --soft _1_,然后做git commit.现在看起来你已经克隆了1,然后用你所有的改变做了一次提交.无论如何,您的中间历史记录会丢失.git,但现在您可以运行git pull- 它将正确合并.
| 归档时间: |
|
| 查看次数: |
46640 次 |
| 最近记录: |