如何在 Windows 上设置 git 存储库,然后在 Mac OSX 上对其进行推送/拉取

2024-03-28

我正在尝试设置一个基于 Windows 的 Web 服务器,但在 Mac OSX 上进行开发工作。我在 Windows 服务器上安装了 freeSSHd 和 msysGit,并在我想要的位置设置了一个存储库。我的 Mac 上也有 git,并在那里设置了一个存储库。当我尝试通过 SSH 克隆、拉取或推送到 Windows 存储库时,它给我一个错误,“致命:协议错误:错误的行长度字符”我在客户端中将远程设置为什么并不重要( Mac OSX)机器 - 我可以将它指向一个不存在的文件夹,但它仍然给我这个错误。

我还在我身边的 Linux 机器上尝试过这个,它运行得很好,所以它不是我的 Mac。

我有几个想法:

  1. 也许 freeSSHd 的行为不正确(正如这里所建议的 http://groups.google.com/group/msysgit/browse_thread/thread/c045ac2fc79e1bfb)这样我就可以为 Windows 获取不同的 SSH 服务器 - 也许是 OpenSSH

  2. 也许我输入的代码错误地组合了 Mac 和 Windows 文件路径。我试过:
    须藤 git 克隆 ssh://[电子邮件受保护] /cdn-cgi/l/email-protection/C:/Users/[my_username]/[remote_repo_name]/.git [目标]

    and

    须藤 git 克隆 ssh://[电子邮件受保护] /cdn-cgi/l/email-protection/C:\Users\[我的用户名]\[远程存储库名称]\.git [目标]

    我对这两个都遇到同样的错误。

有人知道出了什么问题吗?更好的是,有没有人能够做到我想做的事情(通过 SSH 推送到 Windows 存储库或从 Windows 存储库中拉取)?

Thanks!


我还没有做过这种设置(我的 ssh 服务器是 Solaris10),但是我在尝试设置时发现了大多数 ssh 错误gitolite http://github.com/sitaramc/gitolite.

  1. 作为先决条件,gitolite 要求ssh user@remote git --version works
  2. gitolite 使用一个有趣的 ssh 配置属性,来自%HOME%/.ssh/authorized_keys file

您不能只在那里复制您的公钥(位于“authorized_keys"),但您也可以引用要为 ssh 命令执行的脚本:

> more authorized_keys
command="path/to/any/script/you/want" ssh-rsa AAAAB3N;...A_long_key..J6U19Jsf/kuO99XIrNE4ePzHw== username@pc_hostname

意味着您将在该远程上尝试的任何 ssh 命令ssh user@remote dir实际上会在远程(PC)计算机上调用该脚本。
(如果是 Perl 脚本,则可以调用system(your_command)实际执行你需要的)

从该脚本中,您可以显示和控制(和调试)任何可能影响您尝试通过 ssh 执行的命令的结果的环境变量。
See .gitolite/src/gl-auth-command作为(Perl)脚本的示例,您可以通过 ssh 调用(前提是它是在您的公钥之前声明的)authorized_keys file)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Windows 上设置 git 存储库,然后在 Mac OSX 上对其进行推送/拉取 的相关文章

  • 利用 SSE 和其他 CPU 扩展

    在我的代码库中有几个地方 对于大型数据集 相同的操作会重复很多次 在某些情况下 处理这些需要花费相当长的时间 我相信使用SSE来实现这些循环应该可以显着提高它们的性能 特别是在对同一组数据执行许多操作的情况下 因此一旦数据最初被读入缓存 就
  • 使用 Git 维护项目

    我有 2 个项目 实际上这 2 个项目彼此大约 80 相同 主要区别在于语言和商业模式 一个是针对使用英语的更多受众 并且有 9 美元 月的商业模式 另一个是使用本地语言与免费增值商业模式 有时 当我想添加新的特性 功能时 我想将其添加到两
  • 使用与后期步骤中的 Shell 脚本中的克隆相同的 http git 凭据

    我想要自动化我们的发布过程 并且我有一个 Maven 项目的以下 Jenkins 构建作业 使用配置的 Jenkins 凭证 用户名 密码 克隆 Git 存储库 执行一些 Maven 命令以进行构建 配置一个后步骤来执行一些额外的 Git
  • Azure DevOps/VSTS 始终在干净的存储库上报告“DETACHED HEAD”

    Friends 我现在厌倦了 Azure DevOps VSTS Jenkins 好多了 现在仍然如此 只是我的组织想要使用 Azure DevOps 我有一个谜团需要帮助来解决 以下是我的笔记本电脑上的存储库 它没有未跟踪或未提交的更改
  • 如何列出当前正在验证的拉取请求中更改的所有文件(在 VSTS 中)?

    我有一个 PR 验证版本 我想列出 PR 中更改的所有文件以及状态 源在每个构建上同步 因此 在合并 PR 更改之前 源位于修订版A 通常origin master 让我将 PR 合并提交指定为B 我当前的实现调用git diff tree
  • 即使给出了公钥,Gitosis 也需要密码

    我在 Archlinux 上尝试配置 gitosis 时遇到了一些问题 http wiki archlinux org index php Setting Up Git ACL Using gitosis http wiki archlin
  • 使用 'gitbranch' 命令显示当前 git 分支

    我在处理太多分支时遇到问题 需要花费很多时间才能找到我现在正在处理的当前分支 有没有办法在使用时显示的列表顶部列出当前分支git branch命令 如果您只想要签出分支 请使用git branch show current
  • 我可以用一个命令销毁并重新创建 Git 远程分支吗?

    在 Git 中 我有时会在长期运行的分支上工作 我喜欢时不时地重新建立 master 基础 以便在准备好时使合并变得更容易 变基后 我无法将先前推送的分支推送到远程 因为我的分支的历史记录不再与该分支的远程历史记录一致 所以我必须先删除它
  • git-http-backend 与 AuthzUnixGroup 无法正常工作

    我正在尝试在 CentOS 6 机器上的 Apache 2 2 上设置一个 git 存储库 并安装了 git 我尝试过许多不同的方向 但我却不知所措 我目前的情况包括能够clone正常 但完全无法推动 似乎我无法使身份验证位正常工作 因为我
  • Git 二进制文件与 .gitattributes 中的 -diff

    在 gitattributes 中有以下等价内容 chm binary chm diff 我努力了 chm二进制文件 但恐怕它仍然可能尝试合并这些文件 是 diff更适合我打算做什么 另外 在提交给定类型的文件后 此设置是否适用 Thank
  • 如何将推送的分支复制到另一个目录?

    我有一个分支叫master 生产 另一个称为development 当我从 master 推送提交时 post receive 挂钩执行 git work tree var www mywebsite com git dir var rep
  • Git 中的提交是越多越好还是越少越好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近与一位同事进行了一场辩论 他坚持认为 由于合并冲突 提交越少越好 我认为通过使用尽可能多的提交获得的细节越多越好 提交更多还是更少更好 为
  • 如何对 git 子模块使用相同的协议?

    在 git 存储库 R 中 我有一个使用以下命令初始化的子模块 git submodule add git mygitserver 现在用户刚刚使用克隆 Rhttps并在运行时出现错误 git submodule init git subm
  • 无法使用 File delete() 方法删除 git repo 中的 .pack 文件

    对于我正在编写的这个方法 我使用 jgit 库克隆一个 git 存储库 然后对这些文件执行一些操作 最后我想删除该存储库 我遇到的问题是 当我在 pack 文件 位于 git objects pack 中 上调用 delete 方法时 它无
  • 如何在保留历史记录的同时将 git 存储库重新设置为父文件夹?

    我有一个 git 仓库 foo bar baz具有大量的提交历史和多个分支 我现在想要 foo qux位于同一个仓库中 foo bar baz 这意味着我需要它们都位于植根于的存储库中 foo 但是 我想保留我所做的更改的历史记录 foo
  • 为什么 SSH 远程命令获得的环境变量比手动运行时少? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如果我 ssh 到计算机并运行它 我有一个命令可以正常运行 但当我尝试使用远程 ssh 命令运行它时会失败 例如 ssh user IP
  • git 无法暂存文件,将所有文件显示为重复,但字符大小写不是问题

    就我而言 我对我的文件之一进行了简单的一项更改 并想提交我的更改 但注意到 commit am 没有添加 提交该文件 发出 git 后ls files stage 我看到项目中的所有文件可能都显示为重复项 这是其中一个文件的示例 10064
  • 列出其他人(即不是我)所做的提交?

    是否有一种标准方法可以列出 git 存储库中其他人 即不是我自己 所做的所有提交 I tried git log not author username 但看起来 not仅适用于修订版 的联机帮助页git log似乎没有提供反转谓词的方法
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • Git 版本控制中忽略父目录

    如何忽略父目录 gitignore 我尝试了这种模式 但似乎它们不起作用 如果您想忽略某个文件夹但不想修改现有的 gitignore 请将 gitignore 放入仅包含星号的文件夹中 下面是一个快速的 BASH 示例 用于完成 idea

随机推荐

  • PySpark 输出文件数量

    我是 Spark 新手 我有一个简单的 pyspark 脚本 它读取 json 文件 将其展平并将其作为 parquet 压缩文件写入 S3 位置 读取和转换步骤运行得非常快 并使用 50 个执行器 我在 conf 中设置 但写入阶段耗时较
  • Devise::PasswordsController#create 中的 EOFError

    我在从 Ruby on Rails 应用程序发送邮件重置密码时遇到了问题 密码重置邮件过去可以使用 但现在不行了 密码重置是服务器发送的唯一电子邮件 一旦我提交了我想要获取密码的电子邮件 Rails 就会显示完整的跟踪信息 Devise P
  • 防止只读文本框在 Silverlight 中变灰

    在 Silverlight 中 如何制作文本框IsReadOnly True 不会变灰 我的应用程序的灰色效果看起来很糟糕 我想禁用它 或更改其外观 颜色 Silverlight 2 中有几个选项 最简单的是使用 TextBlock 因为它
  • NumPy:计算累积中位数

    我有大小 n 的样本 我想计算每个 i 1 sample i 在 numpy 例如 我计算了每个 i 的平均值 cummean np cumsum sample np arange 1 n 1 我可以在没有循环和理解的情况下对中位数做类似的
  • 即使没有上传输入文件,Laravel mimes 验证也总是被调用(未使用必需规则)

    我仅对文件输入字段使用单一验证规则 这就是哑剧规则 如果没有上传文件 我想跳过此规则 所以我没有使用 必需 规则 但即使没有上传文件 它也始终显示 mime 类型消息 我刚刚添加了测试所需的规则 当时它显示了所需的错误消息 仅当使用 aja
  • 从 Rails 中的单表继承获取子类的列表/数组?

    我有一大堆子类 它们通过 Rails 应用程序中的单表继承从父类继承 我想要一种方法来获取从主类继承的所有子类的数组 我尝试了在另一个 SO 答案中找到的以下单链接命令 但它只返回父类 ObjectSpace each object cla
  • 为什么

    我有一个简单的 html 页面 其中有一些样式 我不明白为什么要添加一些上边距 这是来源
  • 是否可以递归刷新 CQ5/AEM apache 调度程序中的目录?

    由于多租户情况下的特定项目 我有一个调度程序设置了相当深的统计文件级别 我希望找到一种能够递归刷新目录的方法 以模仿其他租户的更浅的统计文件级别 是否有调度程序刷新命令允许我显式删除内容目录 您可以通过向调度程序发送简单的 GET 请求来自
  • FileStream 似乎没有启用

    在我们的开发数据库之一上 我尝试启用 FileStream 我运行了下面的脚本 据说它从 0 禁用变为 2 启用 Use FileStreamTest GO EXEC sp configure filestream access level
  • 实体框架视频教程[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有免费的视频教程深入讨论 EF 而不仅仅是基础知识 Thanks 下面的视频是我看过的关于实体框架
  • 为什么DATETIME可以减整数,但DATE类型不能减

    DATETIME INTEGER 和 DATE INTEGER 的关系是否一致 这执行得很好 DECLARE Yesterday DATETIME GETDATE SELECT Yesterday 1 就像这样 DECLARE Yester
  • 如何有效地检查同一个表中的两列是否是一对一映射?

    即使不同值计数相等 也并不一定意味着一对一的映射关系 SELECT COUNT DISTINCT Column A FROM MyTable SELECT COUNT DISTINCT Column B FROM MyTable A 列 1
  • 通过 json_encode 传递日语字符(UTF-8)的问题

    我在通过 json encode 将日语字符从 PHP 传输到 JavaScript 时遇到问题 这是从 csv 文件读取的原始数据 PRODUCT1 QA PRODUCT2 QA a PRODUCT3 QA 1 问题是 当通过 echo
  • 限制性安排的数量

    我正在寻找一种更快的方法来解决这个问题 假设我们有n boxes and n 弹珠 他们每个人都有不同的种类 每个盒子只能包含某种弹珠 如下例所示 并且只有一个大理石适合装在一个盒子里 请阅读编辑内容 整个算法已在下面链接的帖子中进行了描述
  • Oracle SQl Dev,如何计算2个日期之间的工作日数

    有谁知道如何计算两个日期字段之间的工作日数 我正在使用 oracle sql 开发人员 我需要找到多个开始日期和结束日期之间工作日的平均值 因此 我需要获取每条记录的天数 以便对它们进行平均 这是可以作为一行完成的事情吗 SELECT我的查
  • 将“Future[Option[Future[Option[X]]]]”转换为“Future[Option[X]]”

    如何转型Future Option Future Option X into Future Option X 如果它是一个TraversableOnce代替Option我会用未来的伴生对象 http www scala lang org a
  • Console.ReadKey 取消[重复]

    这个问题在这里已经有答案了 可能的重复 如何向 Console ReadLine 添加超时 https stackoverflow com questions 57615 how to add a timeout to console re
  • 在 Visual Studio 中编译为独立可执行文件 (.exe)

    如何在 Visual Studio 中制作独立的 exe 它只是一个简单的控制台应用程序 我认为用户不会喜欢安装一个微小的控制台应用程序 我使用 Visual Studio 命令提示符编译了一个简单的 cpp 文件 即使未安装 NET Fr
  • 在 DataTrigger 内绑定 Storyboard 动画会导致 XamlParser 崩溃

    我希望我的应用程序在每次发生特定事件时将椭圆动画到新位置 出于测试目的 我制作了一个更改视图模型属性的按钮 并且该属性绑定到触发动画的数据触发器 但后来我希望视图模型根据我尚未实现的其他事件触发它 这就是为什么我可以不要直接在视图中使用绑定
  • 如何在 Windows 上设置 git 存储库,然后在 Mac OSX 上对其进行推送/拉取

    我正在尝试设置一个基于 Windows 的 Web 服务器 但在 Mac OSX 上进行开发工作 我在 Windows 服务器上安装了 freeSSHd 和 msysGit 并在我想要的位置设置了一个存储库 我的 Mac 上也有 git 并