Git 禁用从本地存储库推送

发布于 2024-12-19 05:39:22 字数 172 浏览 1 评论 0原文

我有一个存储库,其中包含一些核心代码,对于每个客户端,我希望克隆它,这样每当客户端想要升级到最新功能时,我就可以执行 git pull 。

为了不把事情搞砸并做出只有一家公司看到的更改,是否有一种方法只允许在本地存储库的基础上进行提取?我仍然希望能够从我的开发环境将更改推送到核心存储库,但不希望生产机器能够推送。

I have a repository with some core code in it, and for each client I wish to clone it so I can do git pull everytime a client wants to upgrade to the newest functionality.

In the interest of not screwing things up and making changes that only one company sees, is there a way to only allow fetches on a local repository basis? I still want to be able to push changes to the core repo from my dev environment, but don't want production machines to be able to push.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮生未歇 2024-12-26 05:39:22

在文件 .git/config 的克隆源存储库(称为 origin)的远程部分中指定一个不存在的 Pushurl。示例:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = <url>
        pushurl = www.non-existing-url.com

或者,如果您不喜欢编辑存储库的配置文件,您可以键入:

$ git config remote.origin.pushurl www.non-existing.com

推送时,您会收到一条错误消息,例如:

$ git push
fatal: 'www.non-existing-url.com' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

当然,您需要编辑每个克隆存储库的配置文件。

Specify a non-existing pushurl in the remote section of the clone-source repository (called origin) in the file .git/config. Example:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = <url>
        pushurl = www.non-existing-url.com

Or if you don't like editing the config file of the repository you can type:

$ git config remote.origin.pushurl www.non-existing.com

When pushing you'll get an error message like:

$ git push
fatal: 'www.non-existing-url.com' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Of course you'll need to edit the config file of each cloned repository.

紫竹語嫣☆ 2024-12-26 05:39:22

我发现远程命令更有用,因此我不必直接搞乱配置。

git remote set-url --push origin www.non-existing-url.com

应该也可以

I find the remote command more useful so I don't have to mess with configs directly.

git remote set-url --push origin www.non-existing-url.com

should work as well

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文