`
gaoyuntao2005
  • 浏览: 312286 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

git macos 配置

 
阅读更多

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会出现问题: 

Bash代码  收藏代码
  1. error: Cannot access URL http://localhost/<my_project>.git, return code 22  

或者 
Bash代码  收藏代码
  1. error: cannot lock existing info/refs  
  2. fatal: git-http-push failed  

多是WebDAV没有配制好的问题 

详细情况可参考这里:HOWTO Setup WebDAV on Mac OS X Leopard 
会有安全隐患,不熟的没有必要还是不要弄了。 

2。安装git 
去git的下载主页找最新的安装dmg下载安装,缺省安装路径在 /usr/local/git目录下 

3。初始化工程repository 
Bash代码  收藏代码
  1. cd ~/Document/workspace/<my project>  
  2. git init  
  3. git add *  
  4. git commit -m "initial import"  

在web服务器目录下创建新的bare repository 
Bash代码  收藏代码
  1. git clone --bare -l /Users/woo/Documents/workspace/<my project> /Library/WebServer/Documents/<my_project>.git  
  2. cd /Library/WebServer/Documents/<my_project>.git  
  3. git update-server-info  


好了,现在可以用http访问git库了: 
Bash代码  收藏代码
  1. cd  /tmp  
  2. git clone http://localhost/<my_project>.git  


4. http访问比较慢,一般只对外提供只读访问用,日常代码提交可以通过git协议进行: 
Bash代码  收藏代码
  1. cd /Library/WebServer/Documents/<my_project>.git  
  2. touch git-daemon-export-ok  

然后启动git daemon: 
Bash代码  收藏代码
  1. 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服务器相同。 

试试是否成功: 
Bash代码  收藏代码
  1. cd /tmp  
  2. git clone git://localhost/<my_project>.git  


修改源代码后提交: 
git push 
如果出现如下错误: 
Bash代码  收藏代码
  1. pack-objects died of signal 13  
  2. error failed to push some refs     

或者 
Bash代码  收藏代码
  1. error: unpack failed: unpack-objects abnormal exit  
  2. To git://xxx.yyy.local/<my_project>.git  
  3. ! [remote rejected] master -> master (n/a (unpacker error))  
  4. error: failed to push some refs to 'git://xxx.yyy.local/<my_project>.git'  

这类错误一般是git服务器端的问题,检查系统日志会发现: 
Syslog代码  收藏代码
  1. 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用户和用户组即可 
Bash代码  收藏代码
  1. sudo chown -R www:www /Library/WebServer/Documents  
b。修改git-daemon启动参数(--user=www --group=www),使其与git服务器上repository文件的用户和权限一致, 

git push如果出现错误 
Bash代码  收藏代码
  1. errno=Connection refused  
  2. 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 

分享到:
评论

相关推荐

    git安装配置以及在intellijidea中使用git的配置.pdf

    打开 IntelliJ IDEA,进入“File”&gt;“Settings”(在 macOS 上是“IntelliJ IDEA”&gt;“Preferences”),然后选择“Version Control”&gt;“Git”。在这里,可以指定 Git 可执行文件的路径,并配置 SSH 密钥以实现无密码...

    git环境配置

    进行Git环境配置是使用Git的第一步,确保你能够顺利地与远程仓库交互。以下将详细解释如何配置Git环境。 1. **安装Git** 在不同的操作系统上,安装Git的方法略有不同: - **Windows**: 可以从Git官方网站...

    git安装配置.docx

    ### Git的安装与配置知识点详解 #### 一、Git的安装 **1. 下载Git** - **官网下载:** - 访问Git的官方网站:https://git-scm.com/ - 在首页找到“Downloads”部分,选择适合您操作系统(如Windows、Linux、...

    macos git sss

    尽管这个标题没有提供太多具体信息,但我们可以推测其可能涉及在MacOS上安装或配置Git的过程。在MacOS上,Git可以通过多种方式安装,其中包括使用Homebrew、直接下载二进制文件或通过App Store获取。在这个例子中,...

    Git LFS是用于使用Git管理大型文件的命令行扩展和规范 这是3.3.0的MacOS Intel安装包

    6. **安装与配置**:对于MacOS Intel用户,提供的3.3.0版本安装包包含了一个命令行工具,用户需要按照官方文档的指示进行安装,然后配置LFS的远程服务器地址和认证信息。 7. **兼容性**:Git LFS是与Git紧密集成的...

    安装Git与配置说明.zip

    统(Windows、macOS、Linux)选择合适的版本进行下载。对于 Windows 用户, 需要下载对应自己系统位数(32 位或 64 位)的安装包。 2. 安装 Git 下载完成后,双击安装包开始安装。以下是 Windows 系统下的安装步骤:...

    安装Git(包括在Linux、macOS、Windows和源上安装).pdf

    编译过程中,需要注意特定的环境配置和编译选项,以确保Git能够正确构建并提供所需的特性。 #### 结论 无论是在Linux、macOS还是Windows系统上,安装Git都是非常简单且直接的过程。对于需要定制化或最新版本需求的...

    springCloud分布式配置中心

    本demo springCloud版本为1.5.9,...本项目使用本地分布式配置(非git远程配置),启动顺序为服务注册中心(discovery)、配置中心(confugure)、微服务(micro-server),配置文件ip需修改为你自己的ip或localhost。

    git压缩包下载git下载

    至此,你已经成功下载并配置了Git,可以开始使用它进行版本控制和协作开发了。Git的学习曲线可能稍显陡峭,但它的强大功能和灵活性使得投入学习是完全值得的。通过实践和查阅Git的命令参考,你将能够熟练掌握这一...

    Mac 下配置 Git 服务器

    在Mac操作系统上配置Git服务器是iOS开发者经常遇到的需求,因为Git是版本控制的重要工具,能够帮助团队协同开发、管理代码。下面将详细讲解如何在Mac上设置一个本地或局域网内的Git服务器。 首先,确保你的Mac已经...

    GIT 压缩包 适用于压缩包式安装git

    1. 下载压缩包:根据你的操作系统(Windows、macOS或Linux),从Git官方网站或相关镜像站点下载适合的Git压缩包。 2. 解压文件:将下载的压缩包解压到你选择的目录。 3. 配置环境变量:将Git的可执行文件路径添加...

    版本控制系统中Git的安装与配置指南

    内容概要:本文档详细介绍了Git的安装与配置过程,适用于Windows、macOS和Linux三大操作系统。首先简述了Git的基本概念及其重要性,接着详细讲解了每个操作系统的具体安装步骤,包括下载、安装程序运行、环境变量...

    Git工具安装包,Git工具安装包

    1. 下载安装包:根据你的操作系统(Windows、macOS或Linux)从Git官方网站下载相应的安装程序。 2. 安装配置:运行下载的安装程序,按照提示进行安装。在配置环节,你可以设置用户名和邮箱,这是Git用于标识作者的...

    git和github配置与安装

    在开始安装Git之前,首先需要下载适合您操作系统(Windows、macOS或Linux)的安装包。官方推荐从Git官网(https://git-scm.com/downloads)下载最新稳定版本的安装包。 ##### 2、Git安装步骤 安装过程相对简单,...

    mac-git-2.33.0-dmg

    在macOS上配置Git时,可能需要设置用户名和电子邮件,这些信息会被记录在提交信息中。此外,可以自定义编辑器、配置别名以简化常用命令,以及调整各种Git的行为,以适应个人的工作习惯。 总结起来,"mac-git-2.33.0...

    GitKraken-v6.5.1.zip

    解压后,用户可以直接双击运行,安装和配置完成后,即可开始使用这款强大的Git图形化工具。需要注意的是,使用前确保已安装了兼容版本的Git,因为GitKraken本身并不自带Git环境。 总而言之,GitKraken为macOS用户...

    免费下载git安装包大全

    用户只需下载最新版的.exe安装文件,然后按照安装向导一步步操作,选择安装路径,配置默认文本编辑器,以及是否在右键菜单中添加Git命令等选项。 2. **macOS安装**:在macOS上,可以使用Homebrew或直接从Git官网...

    Git for Windows 安装配置教程

    Git for Windows 是一款专为在Windows环境下使用Git版本控制系统而设计的应用程序,它提供了一个友好的命令行界面,使得开发者可以在Windows系统上享受与Linux或macOS类似的Git体验。本教程将详细介绍如何安装和配置...

    git 安装包(含64+32+多版本)

    在Windows操作系统上,Git Bash模拟了类Unix shell环境,允许用户使用与在Linux或macOS上相同的Git命令。这对于习惯于命令行操作的开发者来说非常方便,因为它提供了与跨平台开发一致的体验。 GUI(图形用户界面)...

Global site tag (gtag.js) - Google Analytics