gpt4 book ai didi

git - 无法将文件推送到 git 存储库

转载 作者:太空狗 更新时间:2023-10-29 14:00:47 24 4
gpt4 key购买 nike

我已经使用“git init”创建了一个 git 存储库。一切正常,但当我从主机执行“git push”时,它不会推送文件,但会出现以下错误。

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 root@10.111.44.77:/var/cache/git/h.git
! [remote rejected] master -> master (branch is currently checked out)

当我使用 git clone --bare old.git new.git 将这个 old.git 存储库克隆到 new.git 存储库并将文件推送到 new.git 时,它工作正常。

但是当我使用 git init --bare 创建一个新的裸存储库时,它不允许“git add”命令。它给出以下错误:

fatal: This operation must be run in a work tree

使用 git init --bare 它不会创建它使用 git init 创建的 .git 文件夹。

感谢任何帮助。

最佳答案

当您使用 --bare 选项创建 git 存储库时,您创建的存储库不需要工作树,只需要存储库结构。

这意味着预计不会(直接)添加到索引。通过指定此项,您正在设置一个存储库,该存储库预计将被 pull 和推送但不会使用 git add 命令添加。

当你在你的文件夹中执行 git init --bare 时,它你希望在 .git 文件夹中看到的一个项目。

branches
config
description
HEAD
hooks
info
objects
refs

这就是您遇到问题的原因。

花一些时间阅读 git 的手册页。这非常有帮助。此外,他们还有一个很棒的网页,其中包含说明如何管理裸存储库的文档。 http://git-scm.org

在阅读了您对问题的评论后,我明白了您要完成的任务。

编辑: 是的,在您的服务器上您会想要做 bare 存储库。您只能在此处推 pull 。

然后您将拥有一个“正常”的存储库,您可以在其中进行工作,可能在不止一台机器上。你会在那里执行你的 git add 命令和你的 git pull 和 git push。您需要将 Remote 添加到“服务器”所在的任何位置。这不限于真正的服务器,它可以只是另一个目录;例如,它可以位于网络驱动器或 USB 拇指驱动器上。

Git 非常灵活,好好阅读手册页和文档非常有帮助。

关于git - 无法将文件推送到 git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153019/

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