Py学习  »  Git

无法使用Git将本地项目共享给BitBucket

TheCoder • 5 年前 • 1498 次点击  

我在本地有一个项目,我想在Bitbucket上分享。我在bitbucket上创建了一个名为“rest api”的存储库。
现在,我进入了我的intellij idea ide,并且已经将项目添加到git中。我还使用idea将项目添加到远程存储库中。

现在,我正试图将我的项目推到远程,但这给了我一个错误:

error: failed to push some refs to 'https://my@bitbucket.org/my/rest-api.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
To https://bitbucket.org/my/rest-api.git
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
Done
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我读了一些这样的问题,知道我需要首先 git pull 是的。所以我也试过了,但那也给了我一个错误:

Git Pull Failed
From https://bitbucket.org/my/rest-api
* branch            master     -> FETCH_HEAD
= [up to date]      master     -> origin/master
refusing to merge unrelated histories

pull window

我做错什么了?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46302
 
1498 次点击  
文章 [ 1 ]  |  最新文章 5 年前
VonC
Reply   •   1 楼
VonC    6 年前

这是典型的两个并发创建的存储库:一个本地存储库,一个远程存储库。

它们各自的主分支没有共同的历史。

一个 git pull origin master --allow-unrelated-histories 允许两个分支合并。

如果您只有一个主分支,并且希望保留线性历史,则 git pull --rebase 也很好,将在 origin/master .

如果你有更复杂的当地历史,那么 git pull --rebase=merges 需要使用新的 rebase --rebase-merges 选项,保留本地合并。


1)我不想把它推到 master 分支,但到远程 dev 分支?

  • 拉力不变。
  • 推动变成 git push -u origin dev

2)对于我在本地创建的每个项目,我是否需要遵循此操作,然后希望推送到远程?

只有在创建了远程repo时,才将一个或多个文件作为其“初始化”的一部分(readme、license、contribution…)。
如果你真的创建了一个远程回购 空的 ,那么你就不会有这个“麻烦”了。