git关联远程库

问题: git关联远程仓库,执行git push origin master 推送本地系统代码时报以下问题

Updates were rejected because the tip of your current branch is behind 
its remote counterpart. Integrate the remote changes (e.g.  'git pull ...') 
before pushing again.

查了资料发现是创建远程库时自动生成了readme文件,必须要先拉取远程库的文件到本地库,再推送本地库代码。

于是执行 git pull origin master 

报错 fatal: This operation must be run in a work tree

这个问题网上查了很多资料,都说是没有创建本地库时没有readme文件,但我执行的操作就是要先从远程库拉取呀,

而且后面发现执行 git status 时也报同样问题,

查了半天发现自己的当前目录是 .git  的版本库目录,

重新切换到git的工作区项目目录下,再使用其他命令,fatal: This operation must be run in a work tree 的问题解决。

再执行 git pull origin master 又出现新问题:

fatal: refusing to merge unrelated histories
(拒绝合并不相关的历史)

解决:

这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。

查阅了一下资料,发现可以在pull命令后紧接着使用--allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)

最后将本地仓库的提交推送到远程github仓库上 :

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章