git - 推送到远程 repo 给出了错误 - 仍然有 refs

标签 git

我正在尝试将代码推送到远程仓库 -

git push uat release/1.1:release
Counting objects: 4047, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1679/1679), done.
Writing objects: 100% (4047/4047), 3.38 MiB | 1.79 MiB/s, done.
Total 4047 (delta 2160), reused 3666 (delta 1909)
remote: Switched to branch 'release'
To ubuntu@ubuntu-jvm:/repos/tms/uat
 * [new branch]      release/1.1 -> release
error: there are still refs under 'refs/remotes/uat/release'
error: Cannot lock the ref 'refs/remotes/uat/release'.

如何解决上述错误。

最佳答案

我怀疑您还有其他名为 release/<something> 的分支在你的 uat偏僻的。 push您正在运行的命令正在尝试转换本地分支 release/1.1进入远程分支 release , 但 Remote 拒绝删除 release/<something>因为那会丢失信息。尝试 git push uat release/1.1:newrelease或类似的东西以避免尝试将单个分支命名为与包含其他分支的“子目录”相同的名称的冲突(它不是真正的子目录,但 git 在内部工作的方式,它有时存储为实际的子目录).

git remote show uatgit branch -r将向您展示您的 uat 有哪些分支 Remote 有。

关于git - 推送到远程 repo 给出了错误 - 仍然有 refs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11245897/

相关文章:

git 过滤器不是 'unmodifying' 文件

git - 有没有类似svn revert的git revert?我需要一个命令来删除我本地的 *everything* 并将其设置为 remote head

git - Android Studio 3.3.1项目集成GitHub时哪种方式正确?

git - 如何在 git 中维护 'topic branch' merge 历史记录?

java - 忽略 Git 中的 .classpath 和 .project

svn - 版本控制与自己协调

git - 如何从 Git 分支 merge 特定文件

git - 如何在执行 git pull 时强制更新?

linux - 使用 "git submodule foreach"可以跳过子模块列表吗?

git - 在 git bisect run 期间运行两个命令