Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >git推送某些分支名称失败

git推送某些分支名称失败
EN

Stack Overflow用户
提问于 2016-04-25 15:58:55
回答 1查看 890关注 0票数 1

在我们的公司里,使用我们的名字来区分特性并不少见。因此,如果我们在master上并且想要分支一个新特性,我们可以创建john/feature-testbob/feature-test2。这是伟大的工作,直到最近,我们的一个队友失去了推动我们的起源任何东西的能力。

她可以很好地创建其他分支,但是如果分支以mira/...开头,那么它就会失败,如下所示:

代码语言:javascript
运行
AI代码解释
复制
$ git push -f
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 243 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: error: Cannot update the ref 'refs/heads/mira/testing': unable to create directory for logs/refs/heads/mira/testing: No such file or directory
To git@bitbucket.org:<team>/<repo>.git
 ! [remote rejected] mira/testing -> mira/testing (failed to update ref)
error: failed to push some refs to 'git@bitbucket.org:<team>/<repo>.git'

当我在我的机器上尝试这个的时候,我会得到同样的东西。因此,问题似乎与Bitbucket上的远程git服务器有关。我们已经尝试删除以mira/...开头的所有分支,但这并没有帮助。我修剪了遥控器和本地设备,运行了一个git gc,等等。似乎什么都起不到作用。

有趣的是我们可以进入Bitbucket,创建一个名为mira/testbranch的分支,运行git fetch,运行git checkout mira/testbranch,进行更改,提交,然后推送.但同样的问题仍将失败。

有没有人知道这是如何发生的,以及我们能做些什么来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-04-25 16:46:26

问题在服务器上,必须在服务器上修复(可能是通过在客户端上的操作来解决的;请参见下面)。

服务器正在向客户机提供尽可能多的合理信息(但请参见下面的内容):

remote: error: Cannot update the ref 'refs/heads/mira/testing': unable to create directory for logs/refs/heads/mira/testing: No such file or directory

从中我们可以得出以下结论:

  • 服务器配置具有core.logAllRefUpdates集(见下文)
  • 文件logs/refs/heads/mira/testing当前不存在(见下文)
  • logs/refs/heads/mira中的某些目录/目录也不存在
  • 执行推送的过程也无法创建该目录,因为某些前一个目录不存在(这是神秘的部分,因为git将根据需要创建路径中的每个目录)。

可能会在服务器上进行进一步的调查,但最有可能的问题是,logs/refs/heads/mira已经以普通文件而不是目录的形式存在,而git正在通过生成目录序列中的ENOENT错误破坏文件路径的EEXIST错误。(这将是git中的一个小错误:无论哪种方式,它都必须失败,但是它可以说“无法创建日志/参考/标题/米拉/测试,因为日志/参考/标题/米拉是一个常规文件”。此外,如果有一个未删除的分支(见下文),它应该会给出一个更清晰的错误信息;这将是git中的一个更大的错误。)

假设我的猜测(有这样一个文件)一开始是正确的,那么该文件是如何被丢弃的,这是一个谜。可能有一个名为mira的分支,这需要创建一个名为logs/refs/heads/mira的reflog文件,但是当它被删除时--为了创建一个名为mira/testing的分支,它一定在某个时候被删除了;如果已经有一个分支,那么就不能有一个分支X/Y,如果已经有一个分支,X-that也应该删除这个分支。但是,如果这是问题所在,修复方法是如果您想要恢复文件内容,就移除该文件,否则只需将其全部删除。如果有一个未删除的分支以这种方式出现(在分支问题之前出现了reflog问题),您可以简单地删除分支,这也会删除reflog文件。

您还可以禁用core.logAllRefUpdates。通常情况下,它将被禁用,因为这应该是一个--bare存储库。

关于core.logAllRefUpdates

这一点在 documentation中描述得相当好

core.logAllRefUpdates 启动雷射。通过附加新的和旧的SHA-1、更新的日期/时间和更新的原因,ref的更新将被记录到文件"$GIT_DIR/logs/“中,但只在文件存在时。如果此配置变量设置为true,则会自动为分支头(即参考/头/)、远程参考(即参考/远程/)、注参(即参考/注释/)和符号引用头创建缺少的“$GIT_DIR/log/”文件。 此信息可用于确定“两天前”分支的提示是什么。 默认情况下,此值在具有与其关联的工作目录的存储库中为真,在裸存储库中默认为false。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36853142

复制
相关文章
Python学习笔记:第2天while循
while循环是先判断给的条件是否为真,如果真则执行循环体中的while语句,否则跳出循环;执行循环体之后再次判断条件是否为真。
py3study
2020/01/19
4960
2、while+read按行读取文件
一、三种方法 1.exec读取文件 exec <file sum=0 while read line do cmd done 2. cat读取文件 cat file|while read line do cmd done 推荐用途: 通过awk等三剑客获取文件中的数据后,可以使用这种方法用管道抛给while按行读取 3. while循环最后加重定向 while read line do cmd done<file 推荐用途: 直接按行读取文件中的内容时,推荐用此方法 二、案例 读取web日志文件
jackxiao
2021/11/16
1.7K0
pyspark之从HDFS上读取文件、从本地读取文件
hdfs上的路径: path="hdfs:///主机名:端口号/地址" 本地上的路径: path"file:///本地地址" 读取文件: rdd=sc.textFile(path)
西西嘛呦
2020/08/26
5.2K0
OpenGl 导入读取多个3D模型 并且添加鼠标控制移动旋转
  因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我就先把基本的小demo给写好当做前期测试。
徐飞机
2019/10/08
3.2K0
OpenGl 导入读取多个3D模型 并且添加鼠标控制移动旋转
python从txt文件读取数据
  (作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!)
py3study
2020/01/19
4K0
python从txt文件读取数据
OpenGl读取导入3D模型并且添加鼠标移动旋转显示
原文链接:https://www.cnblogs.com/DOMLX/p/11543828.html
徐飞机
2019/09/19
2.7K0
OpenGl读取导入3D模型并且添加鼠标移动旋转显示
Rust:从嵌套循环中退出
在C语言中,我们常用goto语句来在错误条件下跳转到函数的数据清理部分。这种用法的好处尤其体现在“错误发生在嵌套循环”的时候,我们不用每一层循环都加一个标志位,逐级退出。
灯珑LoGin
2022/11/16
1.5K0
sl从程序集中读取xaml文件
 StreamResourceInfo sri = Application.GetResourceStream(new Uri("HowTo;component/Page.xaml", UriKind.Relative)); StreamReader sr = new StreamReader(sri.Stream); txtReadxml.Text = sr.ReadToEnd(); {1};component/{2} 1为程序集的名字 2为想读取的页面 page.xaml: <UserCont
用户1172164
2018/01/16
1.1K0
sl从程序集中读取xaml文件
Python Numpy 从文件中读取数据
测试文件内容(test1.txt) hello,123,nihao 8,9,10 io,he,no 测试代码 import numpy # dtype:默认读取数据类型,delimiter:分隔符 world_alcohol = numpy.genfromtxt("test1.txt", dtype=str, delimiter=",") # 数据结构 print(type(world_alcohol)) # 数据内容 print(world_alcohol) # 帮助文档 print(help(nump
山海散人
2021/03/03
4.4K0
调用opengl程序代码
// Test_of_callexe.cpp : Defines the entry point for the console application. // #include<stdafx.h> #include <windows.h> #include <stdio.h> #include <conio.h> int main(int argc, char * argv[]) { STARTUPINFO si = {0}; si.cb = sizeof(si); P
流川疯
2019/01/18
1.1K0
OpenGl 实现鼠标分别移动多个物体
原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html
徐飞机
2019/10/06
2.7K0
实验5 OpenGL模型视图变换
2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它(物体运动,让人看它的不同部分)。(模型变换)
步行者08
2018/10/09
1.7K0
json文件的读取_c语言文件读取
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。有关于json的相关信息,可参考:json百度百科。
全栈程序员站长
2022/11/07
5.8K0
json文件的读取_c语言文件读取
HDFS——如何从HDFS上读取文件内容
用这个命令bin/Hadoop fs -cat 可以将HDFS上的文件内容读取到控制台。
星哥玩云
2022/06/30
2.8K0
Android OpenGL 渲染图像读取哪家强?
glReadPixels 是 OpenGL ES 的 API ,OpenGL ES 2.0 和 3.0 均支持。使用非常方便,下面一行代码即可搞定,但是效率很低。
字节流动
2020/11/03
4.5K0
matlab读取mnist数据集(c语言从文件中读取数据)
mnist database(手写字符识别) 的数据集下载地:http://yann.lecun.com/exdb/mnist/。
全栈程序员站长
2022/08/01
5.1K0
matlab读取mnist数据集(c语言从文件中读取数据)
C++ 从文件读取python numpy 数组
作为示例,我们先在python中创建一个二维的numpy数组, 并写入二进制文件:
用户6021899
2020/02/26
5.8K0
C++ 从文件读取python numpy 数组
OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解「建议收藏」
OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。
全栈程序员站长
2022/07/23
1.5K0
OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解「建议收藏」
点击加载更多

相似问题

读取fread() while循环中的文件

11

opengl+glut glutPostRedisplay在哪里?

30

Python在while循环中读取文件

33

Scala在while循环中从文件中写入和读取

11

glutPostRedisplay()并不总是被调用?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档