推送到远程分支(无法更新ref)

时间:2016-05-11 22:12:00

标签: git repository push branch bitbucket

我有一个带功能/启动更改分支的远程存储库。现在我想从我的本地feature / initital-change分支将一些文件推送到这个远程分支。

我在推送到远程分支机构时经历了一些帖子并尝试了一些方法,但我仍然遇到同样的错误。添加和提交后,我得到以下git状态。

Sakibs-MacBook-Pro:BluFireLabs SakibArRahman$ git push origin feature/initial-change
Counting objects: 255, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (141/141), done.
Writing objects: 100% (255/255), 6.57 MiB | 1.88 MiB/s, done.
Total 255 (delta 49), reused 13 (delta 5)
remote: error: Cannot update the ref 'refs/heads/feature/initial-change': unable to create directory for logs/refs/heads/feature/initial-change: No such file or directory
To git@bitbucket.org:bluefirelabs/fire-voice-droid.git
 ! [remote rejected] feature/initial-change -> feature/initial-change (failed to update ref)
error: failed to push some refs to 'git@bitbucket.org:bluefirelabs/fire-voice-droid.git'

但是当我推动时,我得到以下内容:

   function (parent, targetID) {
        var feedEntries = $(parent).children(".items");
        //reorder entries so that the first entry is the top entry
        while (targetID != feedEntries.first().attr('id')) {
            feedEntries.first().insertAfter(feedEntries.last());
        }
   }

关于如何解决这个问题或我做错了什么的任何想法?提前谢谢!

1 个答案:

答案 0 :(得分:9)

当创建两个分支时,会发生这种情况,一个分支带有斜杠/,另一个分支没有斜杠,其中没有斜杠的分支是另一个分支的前缀。

实施例

考虑这两个有效的分支名称:

  • feature
  • feature/initial-change

当您从远程设备获取这些分支到本地计算机时,feature分支表示为文件,feature/initial-change分支表示为名为feature的目录和名为的文件initial-change。您的操作系统无法创建同名的文件和目录:

  • logs/refs/heads/feature
  • logs/refs/heads/feature/initial-change

解决方法

解决方法是在这种情况下删除feature分支:

git push --force origin :feature