当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在我的GoDaddy托管计划上设置git仓库》经验,为你挑选了1个好方法。

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

我想要做的是在我的(支持ssh的)GoDaddy共享主机软件包上设置一个repo,这样我就可以通过推送进行部署,而不是在FTP中进行拖放.

任何提示将不胜感激.最好是来自已经完成它的人的帐户,但我个人无法在网上找到任何帐户.



1> jotr..:

通过一点点工作,我能够在GoDaddy帐户上运行Git.在我的博客上有一篇较长的帖子详细说明了这个过程,但简短的回答是:

    在你的帐户中安装git(也许使用我博客文章中引用的tarball)

    在您的帐户中创建一个git存储库(裸或不)

    检查您的存储库,使用-u指示路径 git-upload-pack

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

    调整你的本地仓库配置,使其指向正确的路径git-upload-packgit-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提取的完整帖子:

在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.我正在共享一个包含预构建的CentOS 5.2 Git二进制文件的tarball .您应该能够使用以下命令下载和安装:

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

我看到默认的PATH.当我在.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

https://serverfault.com/questions/26836/setting-up-a-git-repo-on-my-godaddy-hosting-plan

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

找不到git-upload-pack:命令,如何正确解决这个问题

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.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://web.archive.org/web/20110830112931/http://johntrammell.com/wp/2011/01/05/using-git-on-godaddy/
推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有