git有4种协议方式建git服务器,分别是本地协议、SSH协议、git协议和http协议。
Mac OS X自带了apache web服务器,使用很方便,但是与其它几种方式相比速度很慢,一般以http协议的方式提供git库的只读访问。
对于日常工作提交,应以git方式为好,因为速度很快。
1。开启web服务器
1.1
打开“系统偏好设置”的“共享”,勾上“Web共享”即可,可以用浏览器访问http://localhost/试试,btw:
http://localhost/~[当前登陆用户]
是登陆用户的主页
1.2 这种方式使用了WebDAV上传/修改/删除服务器上的文件,缺省情况下WebDAV是不能增删改的,所以只能pull不能push,如果git push会出现问题:
- error: Cannot access URL http://localhost/<my_project>.git, return code 22
或者
- error: cannot lock existing info/refs
- fatal: git-http-push failed
多是WebDAV没有配制好的问题
详细情况可参考这里:HOWTO Setup WebDAV on Mac OS X Leopard
会有安全隐患,不熟的没有必要还是不要弄了。
2。安装git
去git的下载主页找最新的安装dmg下载安装,缺省安装路径在 /usr/local/git目录下
3。初始化工程repository
- cd ~/Document/workspace/<my project>
- git init
- git add *
- git commit -m "initial import"
在web服务器目录下创建新的bare repository
- git clone --bare -l /Users/woo/Documents/workspace/<my project> /Library/WebServer/Documents/<my_project>.git
- cd /Library/WebServer/Documents/<my_project>.git
- git update-server-info
好了,现在可以用http访问git库了:
- cd /tmp
- git clone http://localhost/<my_project>.git
4. http访问比较慢,一般只对外提供只读访问用,日常代码提交可以通过git协议进行:
- cd /Library/WebServer/Documents/<my_project>.git
- touch git-daemon-export-ok
然后启动git daemon:
- sudo /usr/local/git/libexec/git-core/git-daemon --base-path=/Library/WebServer/Documents/ --syslog --verbose --pid-file=/var/run/git-daemon.pid --user=_www --group=_www --detach --enable=upload-pack --enable=upload-archive --enable=receive-pack
base-path参数指出web服务器的Documents目录为git服务器基础目录,git-daemon会扫描该目录下所有尾缀为.git的目录,如果这些目录下有git-daemon-export-ok文件,则将此目录作为git协议的输出repository,用户和用户组都设为_www,与web服务器相同。
试试是否成功:
- cd /tmp
- git clone git://localhost/<my_project>.git
修改源代码后提交:
git push
如果出现如下错误:
- pack-objects died of signal 13
- error failed to push some refs
或者
- error: unpack failed: unpack-objects abnormal exit
- To git://xxx.yyy.local/<my_project>.git
- ! [remote rejected] master -> master (n/a (unpacker error))
- error: failed to push some refs to 'git://xxx.yyy.local/<my_project>.git'
这类错误一般是git服务器端的问题,检查系统日志会发现:
- Mar 7 22:11:50 xxx.yyy git-daemon[6334]: error: insufficient permission for adding an object to repository database ./objects
这是因为git-daemon命令启动时--user=_www --group=_www这两个参数制定的用户和用户组权限与服务器上/Library/WebServer/Documents的用户和用户组权限不一致所致。办法有两个:
a。将git服务器相关文件权限修改成www:www用户和用户组即可
- sudo chown -R www:www /Library/WebServer/Documents
b。修改git-daemon启动参数(--user=www --group=www),使其与git服务器上repository文件的用户和权限一致,
git push如果出现错误
- errno=Connection refused
- fatal: The remote end hung up unexpectedly
这是因为git-daemon命令缺少这几个参数:
--enable=upload-pack --enable=upload-archive --enable=receive-pack
综上所述,http方式配制起来很麻烦,比较适合pull,虽然有点慢,采用git协议方式比较安全方便点,而且比较下可以发现git方式比http快的太多了。
参考:
Pro Git 2009
setting up git server fast macos x
Setting up a public (bare) repository with git
分享到:
相关推荐
本demo springCloud版本为1.5.9,...本项目使用本地分布式配置(非git远程配置),启动顺序为服务注册中心(discovery)、配置中心(confugure)、微服务(micro-server),配置文件ip需修改为你自己的ip或localhost。
注意:这些点文件用于运行MacOS的我的个人计算机,因此它们可能包含您不喜欢的设置和配置。 在安装之前,请先浏览此存储库,然后查看您可能要更改的设置。 先决条件 您必须具有才能完全完成安装。 安装自制软件: /...
彻底解决Mac端git clone/push速度太慢的问题,详情请参阅文档。
我的macOS,git,fish,iTerm,VSCode等配置 产品特点 鱼配置与git集成 iTerm配置和主题 VSCode设置,扩展名和颜色主题 常见的自制方法 基于明智的macOS默认设置 基于git config和别名 安装 运行setup.sh 请通读...
习惯配置emacs安装Emacs及相关配置git配置git环境go安装Go环境iterm配置iTerm2环境(tmux,主题) node安装队列node工具包,语言补全引擎os macOS系统设置vim安装vim环境及配置zsh zsh环境及插件安装卸载卸载brew...
RepoZ是具有Windows资源管理器和CLI增强功能的零配置git存储库中心。 它使用计算机上的git存储库创建高效的导航小部件,并确保您在此过程中永远不会失去对工作的跟踪。 当您使用git时,它会自动填充。 它不会妨碍您...
:hammer_and_wrench: 点文件 我的个人MacOS配置 :laptop: 安装 git clone --recurse-submodules -j8 https://github.com/ivangalbans/dotfiles.git ~ /dotfiles cd ~ /dotfiles source bootstrap.sh 谢谢:
robymontyz的dotfile 依存关系 吉特 同步 屏幕(版本> 4.01,请在下面查看更多详细信息) gpg [可选] OpenSSH [可选] Xcode [可选] 安装 警告:这些dotfile最适合我对macOS...包含的配置 重击 .bashrc .bash_profi
点文件我的一些macOS配置文件安装mkdir ~ /.dotfilescd ~ /.dotfilesgit clone https://github.com/skibitsky/dotfiles.git .sh install.sh更新资料当Mac进入睡眠状态时,我使用和自动提交所有更改。
:laptop: 用于安装和配置macOS的Shell脚本。 Clean-macOS是一个简单的脚本,可以在全新安装macOS之后使用该脚本来配置和安装所需的所有应用程序。 它使用点文件和Shell脚本来加快macOS的配置。 表中的内容 入门 您...
点文件! 这是有用的函数,别名...包含包装核Bash + + bash完成+GNU , , , , (Ruby 2.5.0) 的Python 2 macOS: 安装在干净的macOS安装上: sudo softwareupdate -i -axcode-select --install 用Git克隆git clone ...
适用于KDE Plasma的MacOS / Windows等触摸板手势的ToucheggKDE TouchEgg配置。 最后,享受多点触摸触摸板手势优势,或者为Mac OS / Windows等KDE Plasma等触摸板手势使用ToucheggKDE TouchEgg配置。 最后,在KDE ...
Git-Beautify-For-MacOS终端:一套易于使用的配置文件,用于美化MacOS或OS X终端中的Git。 如果您发现很难在命令行上解析单色类型的杂物,则此设置可以帮助您驯服丑陋的bash野兽
MacOS,Windows / NTFS) Python 2.7或Python 3.6 (可选)具有支持的之一的帐户: 亚马逊S3 谷歌云存储微软Azure入门使用pip安装git-big : pip install git-big接下来,转到Git存储库的目录根目录并初始化git-big ...
点文件在Zsh上配置Neovim,tmux和Git。 1.安装Zsh和Oh My Zsh 2.安装Neovim如果您是新手:h nvim如果要从Vim过渡:h nvim-from-vim要优化Neovim :checkhealth 3.向Neovim添加Python支持pip3 install --user --upgrade ...
plugins=(git brew common-aliases copydir copyfile encode64 node osx xcode pod docker git-extras git-prompt) 生成您的开发SSH密钥 为开发机器生成密钥 ssh-keygen -t rsa -b 2048 将您的公
repo2docker获取 git 存储库并基于 在存储库中找到的配置文件。Docker来构建和运行存储库。建议使用社区版。蟒蛇 3.6+。在 Linux 和 macOS 上受支持
安装在带有macOS 上: brew install spinningarrow/tap/git-pair在其他操作系统和包管理器上,将git-pair脚本复制到$PATH某个位置。用查看使用信息: git pair help添加一个新人: git pair add并按照提示操作。 列...
使用ZSH和Homebrew配置macOS或Linux的Dotfile。 要求 macOS或Linux ZSH(在macOS上,安装脚本将通过Homebrew安装ZSH) Homebrew(在macOS上,安装脚本将安装Homebrew) 安装 $ git clone ...
在MacOS上完成以下配置 安装 npm i -g git-multi-profile 全局安装在这里很重要,因为它将在任何单个NodeJS项目的范围之外使用 设置 # Download shell script curl -Lo git-clone ...