gpt4 book ai didi

Git 推送错误 : refusing to update checked out branch

转载 作者:IT王子 更新时间:2023-10-29 01:16:55 26 4
gpt4 key购买 nike

我已经解决了一些 merge 冲突,提交然后尝试推送我的更改并收到以下错误:

c:\Program Files (x86)\Git\bin\git.exe push --recurse-submodules=check "origin" master:master
Done
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To C:/Development/GIT_Repo/Project
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'C:/Development/GIT_Repo/Project'

有谁知道可能导致此错误的原因是什么?

最佳答案

原因:你正在推送到一个非裸仓库

有两种类型的存储库:bare and non-bare

裸仓库没有工作副本,您可以推送到它们。这些是您在 Github 中获得的存储库类型!如果你想创建一个裸仓库,你可以使用

git init --bare

所以,简而言之,你不能推送到一个非裸仓库(编辑:嗯,你不能推送到当前 checkout 的分支一个存储库。使用裸存储库,您可以推送到任何分支,因为没有任何分支被 checkout 。虽然可能,但推送到非裸存储库并不常见)。您可以做的是从其他存储库中获取和 merge 。这就是您在 Github 中看到的 pull request 的工作原理。你要求他们远离你,而不是强制他们。


更新:感谢 VonC 在最新的 git 版本(当前为 2.3.0)中指出这一点,pushing to the checked out branch of a non-bare repository is possible .尽管如此,您仍然不能推送到一个工作树,无论如何这都不是一个安全的操作。

关于Git 推送错误 : refusing to update checked out branch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com