在我的 GoDaddy 托管计划上设置 git 存储库

2024-03-12

我有一个使用 git 进行版本控制的项目。

我想要做的是在我的(启用 ssh 的)GoDaddy 共享托管包上设置一个存储库,以便我可以通过推送进行部署,而不是在 FTP 中拖放。

任何提示将不胜感激。最好是已经完成此操作的人的帐户,但我个人在网上找不到任何帐户。


经过一些工作,我能够在我的 GoDaddy 帐户上运行 Git。有一篇更长的帖子详细介绍了该过程my blog http://johntrammell.com/wp/2011/01/05/using-git-on-godaddy/,但简短的答案是:

  1. 在您的帐户中安装 git(也许使用我的博客文章中引用的 tarball)
  2. 在您的帐户中创建一个 git 存储库(无论是否裸露)
  3. 检查您的存储库,使用 -u 指示路径git-upload-pack

    % git clone -u libexec/git-core/git-upload-pack mysite:myrepo.git

  4. 调整本地存储库配置以指向正确的路径git-upload-pack and git-receive-pack:

    % git config remote.origin.receivepack libexec/git-core/git-receive-pack
    % git config remote.origin.uploadpack libexec/git-core/git-upload-pack


由于该博客已无法访问,因此以下是从以下位置提取的完整帖子Archive.org http://web.archive.org/web/20110830112931/http://johntrammell.com/wp/2011/01/05/using-git-on-godaddy/:

在 GoDaddy 上使用 Git

该博客托管在一个廉价的 GoDaddy 帐户上。当最近通过 SSH 进行 shell 访问时,我认为安装本地 git 存储库会很有趣。这并不是一件小事,但我终于让它发挥作用了。我是这样做的:

步骤0.配置SSH

您想要创建一个公钥,以便可以轻松地通过 SSH 登录到您的 GoDaddy 帐户。如果您还没有密钥对,请创建一个密钥对,并将其添加到~/.ssh/authorized_keys。我假设有一个条目~/.ssh/config像这样的东西:

Host mysite
HostName mygodaddysite.com
User mylogin

步骤1.安装Git

在查看我的 GoDaddy 主机后,我发现它运行的是 CentOS 5.2。在我的笔记本电脑上运行的二进制文件不兼容,因此我使用 VirtualBox 设置本地 Centos 5.2 安装并构建 Git。我正在分享一个包含以下内容的 tarball预构建的 CentOS 5.2 Git 二进制文件 http://johntrammell.com/centos5.2-git.tar.gz。您应该能够使用以下命令下载并安装:

wget http://johntrammell.com/centos5.2-git.tar.gz
tar xzf centos5.2-git.tar.gz

享受这一部分——我在这里为你节省了几个小时的时间。

步骤 2. 设置您的环境。

将以下内容添加到您的 .bash_profile 中:

export EDITOR=vim
export PATH=$PATH:$HOME/bin:$HOME/libexec/git-core
export LD_LIBRARY_PATH=$HOME/lib
export GIT_EXEC_PATH=~/libexec/git-core
export GIT_TEMPLATE_DIR=~/share/git-core/templates

这将在交互式 shell 上正确设置您的环境。不幸的是,我似乎无法为非交互式 SSH 命令正确设置 PATH。例如,当我从笔记本电脑运行此命令时:

ssh mysite env

我看到默认的路径。我在.bashrc中设置路径时也是这种情况。我还没有追踪到 SSH 在非交互式访问上到底做了什么,但这可能与 sshd 中的 PermitUserEnvironment 设置有关。幸运的是我们可以解决这个问题。

步骤 3. 创建存储库

登录您的 GoDaddy 帐户,然后创建一个简单的“裸”Git 存储库:

% mkdir myrepo
% cd myrepo
% touch README
% git init
% git add README
% git commit -m 'empty git repository'
% cd ..
% git clone --bare myrepo myrepo.git

您现在有一个裸存储库~/myrepo.git/在您的 GoDaddy 帐户的根目录中。

步骤 4. 检查您的存储库

唯一棘手的部分是你必须告诉 git 在哪里可以找到 git-upload-pack。这可以解决上面提到的 PATH 问题。在您的本地计算机上,执行以下操作:

git clone -u libexec/git-core/git-upload-pack mysite:myrepo.git

您现在应该签出了原始最小存储库的副本。

第 5 步:更多 git 配置调整

遗憾的是我们还没有完成:

% cd myrepo
% echo "foo" > README
% git commit -am 'updated'
[master 044c086] updated
 1 files changed, 1 insertions(+), 0 deletions(-)
% git push
bash: git-receive-pack: command not found
fatal: The remote end hung up unexpectedly

我们的 PATH 问题现在正在干扰推送操作。作为解决方法,我们可以在命令行上指定 –receive-pack,或者在本地配置中设置它(这同样适用于获取操作和 –upload-pack):

% git config remote.origin.receivepack libexec/git-core/git-receive-pack
% git config remote.origin.uploadpack libexec/git-core/git-upload-pack

恭喜,您现在应该可以启动并运行了!

资源

  • http://johntrammell.com/centos5.2-git.tar.gz http://johntrammell.com/centos5.2-git.tar.gz
  • https://serverfault.com/questions/26836/setting-up-a-git-repo-on-my-godaddy-hosting-plan https://serverfault.com/questions/26836/setting-up-a-git-repo-on-my-godaddy-hosting-plan
  • 在我的 GoDaddy 托管计划上设置 git 存储库 https://stackoverflow.com/questions/1003885/setting-up-a-git-repo-on-my-godaddy-hosting-plan
  • git-upload-pack:找不到命令,如何正确修复此问题 https://stackoverflow.com/questions/225291/git-upload-pack-command-not-found-how-to-fix-this-correctly
  • http://www.bluehostforum.com/showthread.php?20304-Bluehost-Solution-to-the-Git-PATH-issue-when-using-a-non-interactive-shell http://www.bluehostforum.com/showthread.php?20304-Bluehost-Solution-to-the-Git-PATH-issue-when-using-a-non-interactive-shell
  • http://www.google.com/search?q=ssh+setup http://www.google.com/search?q=ssh+setup
  • http://www.kernel.org/pub/software/scm/git/docs/git-upload-pack.html http://www.kernel.org/pub/software/scm/git/docs/git-upload-pack.html
  • http://www.kernel.org/pub/software/scm/git/docs/git-receive-pack.html http://www.kernel.org/pub/software/scm/git/docs/git-receive-pack.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在我的 GoDaddy 托管计划上设置 git 存储库 的相关文章

  • 具有单个子模块的多个存储库

    我已经找了一段时间但没有找到答案 也许我不知道该看什么 我们有一个主库 它本身就是一个存储库 我们称之为 Lib 它包含我们的大部分模块和子模块 我们还假设它的大小为 2GB 现在我们有很多项目 例如 ProjA ProjB ProjC 每
  • 如何创建名称中带有正斜杠的标签

    当我已经有了类似的标签时 有什么方法可以创建名称中带有正斜杠的 git 标签吗 假设我有 1 16 0 标签 并且我想创建 1 16 0 1 0 0 标签 git tag 1 16 0 1 0 0 error refs tags 1 16
  • 哪些 git hooks 适用于“git rebase --continue”?

    我正在尝试为我的组织构建一组 git hook 脚本 我想使用的一个脚本 仅用于我自己的多个项目 将是检查git rebase continue我的代码中没有留下任何冲突标记 lt lt lt lt lt or gt gt gt gt gt
  • 有没有办法导入/导出容器绑定脚本

    我有一个插件 它使用 appscripts gs 以及 html js 和 css 文件 目前我们所做的是我们有一个参考 Google 文档 其中有一个脚本项目包含所有这些源代码 但是除了手动复制和粘贴之外 没有办法在 GIT 中保留源代码
  • 如何更改 GitHub 上的文件模式?

    git add test file git commit m first commit create mode 100644 test file git push git update index add chmod x test file
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta
  • 删除并在另一个文件夹中重新创建后保留文件的 Git 历史记录

    我有以下场景 删除了提交 1 中名为 src GetData cs 的文件 在提交 5 中创建了一个名为 src Get GetDataNew cs 的文件 在提交 7 中将 2 中的文件重命名为 src Get GetData cs 1
  • 在推送后检索孤立的提交对象 --force

    Doing push force总是有点冒险 这里有一个例子 说明它如何产生一些问题 例如远程丢失修订版本 假设 有一个人Bob已更新远程master分支来自B to C 还有另外一个人Mike还没有获取此更新并且HEAD of his m
  • 以非交互式方式查找合并提交的正确父级

    我正在准备 svn2git 迁移 同时https github com nirvdrum svn2git https github com nirvdrum svn2git虽然非常有用 但我仍然遇到了一些恶作剧 我已经清理掉了大部分 但还剩
  • npm install 的问题(Angular)

    今天我尝试创建一个新项目 所以我使用这个命令 ng new NAME style less 并在我的cmder中弹出错误和警告 所以我卸载了 Roaming npm 和 npm cache 中的节点和文件 然后我安装了node并再次下载cm
  • 仅使用 git 存储未暂存的更改(不是 --keep-index)

    首先 我确实知道 keep index 这不是我想要的 因为它仍然隐藏着all更改 但将暂存的更改保留在工作树中 如果可能的话 我只想存储未暂存的文件 而无需再次添加所有更改git stash patch 如果您想存储索引 已暂存的内容 和
  • 使用 git 合并两个截然不同的分支?

    我有我的master分支和我的verydifferentbranch它们有相同的祖先 大约 300 次提交前 现在verydifferentbranch功能完整我想把它放在master下面branch 进行变基会导致每个补丁都有很多合并冲突
  • Git:文件“已更改但未更新”

    已更改但未更新 是什么意思 这些文件位于 git 中 它们已被修改 但是当我运行 git status 时 这些更改显示在 已更改但未更新 而不是 要提交的更改 下 On branch master Changes to be commit
  • 无法访问 Github 403 错误:权限被拒绝

    我是 Git Github 的新手 所以请原谅我的困惑 问题是 我刚刚对本地存储库进行了更改 并且想推送到 Github 上的原点 特别是 gh pages 之前 我一直在使用另一个 Github 帐户 因此我更改了 user name 和
  • git Push Remote:警告:hooks.mailinglist 有多个值

    我刚刚从使用 gitosis 升级到 gitolite 电子邮件通知适用于所有存储库 但对于 gitolite admin 存储库 我在推送时收到此警告 推送很好 git push remote warning hooks announce
  • 如何使用 vim 作为寻呼机设置彩色 git diff

    我无法配置 git 来遵循我的请求 使用 vim 作为差异分页器 在交互模式下添加文件时保留差异颜色 My gitconfig setup color ui auto diff false pager diff vim 通过此配置 交互模式
  • 如何仅隐藏一些未提交的更改?

    我正在对 Git 存储库进行重大更改 并意识到某些更改需要向后移植到错误修复分支 我不想签入我的所有更改master因为它们还没有经过充分的测试和准备 但我确实想提取其中一些更改并将它们提交到错误修复分支 然后按原样返回到 master 我
  • 测量大型源树中的“接近度”

    作为我之前提出的问题的一部分找到两个来源之间的最佳匹配 https stackoverflow com questions 13898659 finding what git commit some code spawned from 其中
  • Xcode - 使用 SSH 身份验证添加存储库时出现身份验证失败错误

    我正在尝试通过 Xcode gt 设置 gt 帐户添加存储库 但我被困在正确的地址上 我们的存储库地址非常简单 my domain com port project name 通过 SSH 密钥进行身份验证 有人可以帮助我了解这里发生了什么
  • 如何使用 Groovy 获取自上次成功构建以来 Jenkins 的提交信息?

    如何编写自定义 groovy 脚本以轻松操作自上次成功构建以来所有提交的数据 在 gradle maven 步骤之后添加新的构建步骤 gt 执行系统 groovy 脚本 适配代码 import com tikal jenkins plugi

随机推荐

  • Android 开发人员:TimerTask 和手机睡眠可能有些奇怪?

    我已经编写了我的第二个 Android 应用程序 该应用程序根据特定的时间表 仅截至目前的日期和时间 切换音频配置文件 如果我通过 eclipse 使用模拟器运行代码 代码可以正常工作 但是我最近导出了 apk 并将其安装在我的 At t
  • 无法加速像素修改的 BufferedImages

    很长一段时间 1 2个月 我一直在试图找到这个特定问题的答案 我无法让我的图像硬件加速 我一直在网上搜索 创建了自己的方法 用键盘敲击我的头 仍然感到疼痛 但没有成功 尽管我讨厌 Java SDK 以外的库 但我尝试了 LWJGL 和 JO
  • Pandas 通过 groupby 分组到列表列表

    给定一个结构如下的数据框 rule id ordering sequence id 1 0 12 1 1 13 1 1 14 2 0 1 2 1 2 2 2 12 我需要将其转换为 rule id sequences 1 12 13 14
  • 如何检测VBA excel是否发现了什么?

    我在宏中使用它来查找工作表中的内容 Selection Find What email After ActiveCell LookIn xlFormulas LookAt xlPart SearchOrder xlByRows Search
  • 使用opencv进行虹膜检测

    如何用opencv检测人脸上的虹膜 看看这个论坛主题 http social msdn microsoft com Forums en winformsdesigner thread 56a938de e065 4e61 b513 4104
  • 在 WPF 中使用 EF Code First 和 SqlCe

    我正在尝试将 EF Code First 与我的 WPF 应用程序一起使用 其想法是在 AppData MyApp 中创建一个 SqlCe Db 如果没有 并将其与 EF Code First 一起使用 目前 当我尝试从它应该创建的数据库中
  • 我如何使用 zend Framework 1.11 中的表单在复选框中设置数据库中的数据

    我有一个表名称是task master 我想在 zend 中动态地将所有记录设置到复选框中 我看到了很多例子 但没有找到任何解决办法 监工 id name br 1 Index br 2 Add br 3 Edit br 4 delete
  • 控制 Linux 嵌入式应用程序的启动屏幕

    在嵌入式编程中 通常需要用一些自定义的 加载 动画或从开机到启动并运行的启动屏幕来替换默认的 Linux 启动输出 达到这个目的的方法是什么 有没有办法在整个启动序列中使用相同的 进程 如何解决这个问题 我猜我们需要一个自制内核来实现这一点
  • 将 virtualenv 从 3.5.3 降级到 2.7

    我的 virtualenv 当前配置为 python 3 5 0 而我需要使用的包仅支持 2 7 我需要一种在 virtualenv 中将 python 运行时降级到 2 7 的方法 我确实有两个版本可供使用 第一个是在我的 virtual
  • Windows 批处理脚本中的文件/文件夹选择器对话框

    在运行时才知道输入文件位置的情况下 使用 GUI 进行文件选择输入可以减少用户出错的可能性 有没有办法从 Windows 批处理脚本调用文件 文件夹选择器对话框 文件浏览器 2016 3 20更新 由于 PowerShell 是当今所有现代
  • OM\Db::query(string $statement) 的声明必须与 PDO::query 兼容

    我刚刚安装了 PHP 8 却出现此错误 我如何解决它 致命错误 OM Db query string statement 的声明必须与 home www includes 中的 PDO query string query int fetc
  • 使用 INDIRECT 函数的条件格式对于布尔 AND 或 OR 或包含公式的单元格失败

    我有以下函数来检查列是否L包含 完成 一词 我使用INDIRECT能够使用条件格式为整行着色 INDIRECT l ROW completed 这个功能有效 但是 我需要扩展它 我也想使用基于额外单元格的条件格式 所以我尝试了以下方法 AN
  • 使 vba 代码适用于所有盒子

    您好 所以我想做的是使此代码适用于所有复选框的 1 50 我希望代码仅影响单击的框 Private Sub CheckBox1 Click If MsgBox Do you want to lock this box vbYesNo War
  • xamarin UI 测试 - 无法加载我指向的本机 APK 路径

    我想通过使用以下代码引用 APK 的路径来在本机 android APK 上运行 REPL UI 测试 public void BeforeEachTest app ConfigureApp Android ApkFile C app de
  • PHP应用程序无法连接到127.0.0.1的docker mysql容器

    Mysql 位于它自己的 docker compose yml 中 因为我想要一个 mysql 服务器启动并运行 任何其他 php 应用程序都可以连接到 所以我在同一个 docker compose yml 中没有 php 和 mysql
  • 如何在 Laravel 5 中包含外部 CSS 和 JS 文件

    我正在使用 Laravel 5 0 表单和 Html Helper 已从此版本中删除 我不知道如何在头文件中包含外部 css 和 js 文件 目前我正在使用这段代码 我认为正确的方法是这样的 这里我有一个jslaravel 的目录app p
  • 防止表单内的 ASP.NET 文本框提交表单

    这是我正在处理的页面 http mcstevenswholesale com catalog aspx http mcstevenswholesale com catalog aspx 目录下方的文本框允许您跳至目录中的特定页面 但是 如果
  • 通过 C++ 检查 Windows 计算机是否在以太网上

    因此 我尝试为此寻找几个不同的答案 我认为可能有希望的一个是 如何使用 Qt 检查 Windows 上的网络接口类型是以太网还是无线 https stackoverflow com questions 21680108 how to che
  • JMockit javaagent 未初始化 JMockit

    我已经设置了 JMockit 以便与一些也使用 Robolectric 的 JUnit 测试一起使用 但我遇到了错误 我主要使用 Maven 来运行测试 当我运行测试时mvn test以及按指定配置的 javaagenthere http
  • 在我的 GoDaddy 托管计划上设置 git 存储库

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我有一个使用 git 进行版本控制的项目 我想要做的是在我的 启用 ssh 的 GoDaddy