Bitbucket文档在撒谎

时间:2018-09-26 12:37:20

标签: git github bitbucket

在Bitbucket官方网站上,我们可以阅读:

  

在本地更改为现有源的根目录。
  通过在命令行中运行以下命令来初始化项目   终端:

     

git init
  git添加--all   git commit -m“初始提交”
  登录到   Bitbucket服务器并创建一个新的存储库。
  在中找到克隆URL   左侧的导航面板(例如:   https://username@your.bitbucket.domain:7999 /yourproject/repo.git)。
  通过在中运行以下命令将文件推送到存储库   终端(相应地更改URL):

     

git remote add origin   https://username@your.bitbucket.domain:7999/yourproject/repo.git
  吉特   推送-u原始主机完成!您的存储库现在位于   Bitbucket服务器。

来源:https://confluence.atlassian.com/bitbucketserver/importing-code-from-an-existing-project-776640909.html

在执行此命令后,我得到了:

To https://bitbucket.org/myrepo/myapp.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://myrepo@bitbucket.org/myrepo/myapp.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

所以现在我尝试获取

git fetch origin

再说一次 git push -u origin master

我知道了

> To https://bitbucket.org/myrepo/myapp.git 
> ! [rejected]        master -> master (non-fast-forward) error: failed
> to push some refs to 'https://myrepo@bitbucket.org/myrepo/myapp.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.

有人可以帮助我吗?我为此花了太多时间

4 个答案:

答案 0 :(得分:3)

您收到的错误消息是因为存储库已具有现有提交。如果您使用的是bitbucket.org(云bitbucket)而不是Bitbucket服务器,它会为您创建一个自述文件。这会将提交提交到存储库中,这将阻止您引用的步骤起作用。如果您在执行存储库时将其清空,则这些步骤将起作用

答案 1 :(得分:2)

git fetch origin是不够的,您必须运行git merge origin/master才能进行推送。

答案 2 :(得分:2)

在Bitbucket上进行最新更新之后,新创建的远程和本地存储库将没有相同的库。因此,您必须使用以下命令进行拉动

git pull origin master --allow-unrelated-histories 

然后,您可以将本地分支推送到远程。

答案 3 :(得分:1)

您始终可以使用git push --force强制将远程主机设置为本地主机。

可能您的本地存储库中有一些不存在的文件。

使用git push --force,您将覆盖更改。在其他情况下要小心,但是它可以在这里工作,因为除了本地更改之外,您不想在主数据库上拥有任何东西。

您当然可以尝试使用git pull,然后再按一次它应该可以解决问题。

但这只是问题的答案,而不是关于位桶文档的问题。