The only unchangeable thing is change.
前面讲了如何搭建一个基于Git协议的Local repository。实现了之前的用户需求,现在用户来了一个新需求:
“我希望在Windows的机器上也可以使用local repository”
首先分解这个需求:
1、在Windows下安装Git,或者Git支持工具。
2、验证之前的上篇提到的所有功能都能在Windows下工作
3、如果有改动git server的设置,Mac的所有功能也需要重新验证。
实现过程:
1、在Windows下安装Git,目前比较流行是msysgit,可以从http://code.google.com/p/msysgit/ 下载,安装。
2、验证Windows环境中的Pull,Push等上篇提到的功能。在这步的实现过程中,碰到一个大麻烦。在windows系统中可以clone,但是push的时候去会被卡住,多番google,发现msysgit对于git协议的支持有个大bug,详细情况http://code.google.com/p/msysgit/issues/detail?id=457 最惨的是大牛们都素手无策,一年多了仍然未fix。不过bug的回复列表中给了一些绕过这个bug的建议,我直接选择了抛弃git协议,切换到SSH协议。
因实现过程中遇到的困难迫使我修改了设计方案,因此我不得不重新分解任务:
1、开启服务器的SSH服务
Mac下直接System preference –> sharing 下勾选Remote Login, 在该界面下,还可以选择允许访问SSH的用户。
在Linux下,默认已经安装了SSH需要的套件,只需要执行命令 service sshd start。
开启SSH服务之后,可以在用户目录 ls –la 发现.ssh目录。如果没有的话,可以通过命令ssh-keygen生成该目录,该目录下有个人私钥id_rsa,公钥id_rsa.pub和用于储存访问过的计算机的公钥的kown_hosts文件,有些还会有authorized_keys文件,这个文件是用来存储已授权的公钥。
2、搭建支持SSH协议的本地库,
创建本地库的过程和上篇一样,但是SSH协议不需要touch git-daemon-export-ok文件。
mkdir git_repo/test.git
cd git_repo/test.git
git init –bare
3、测试Mac能够通过SSH协议clone, push, pull 等操作远程数据库
git clone lincoln.liu@<local-ip>:git_repo/test.git
lincoln.liu是我的用户名,local-ip是我的主机名。 git_repo/test.git是第一步创建的git repository的地址。
执行这条命令会要求输入用户名,如果不想每次都输可以把自己的public key(id_rsa.pub) 加入服务器的authorized_keys(如果没有,就在.ssh目录下创建该文件) 中,
cat id_rsa.pub >> authorized_keys
本地工作目录clone完成之后,测试push功能 ,和上篇一样
cd test
touch README
git add .
git commit –m “add README”
git remote add local lincoln.liu@<local-ip>:git_repo/test.git
git push local master
注:此处如果push报错,很大可能是因为user(Lincoln.liu)对repository的目录没有读写权限。可通过如下命令解决
sudo chown –R <user-name>:<user-group> <repo_directory>
4、测试windows下能通过SSH协议工作,打开GitBash,剩下所有的操作都和Mac一样了。
OK,Mission Completed!!
分享到:
相关推荐
在Ubuntu系统中搭建Git服务器,特别是使用gitosis作为版本控制系统管理工具,是一个常见的做法,尤其适合小型团队或个人开发者协作项目。以下将详细介绍这个过程。 首先,我们需要进行一些准备工作。在Mac上安装...
**一、搭建Git服务器的好处** 1. **安全性**:自建Git服务器可以更好地保护代码安全,避免因第三方服务故障导致的数据丢失。 2. **版本管理**:提供版本控制功能,便于进行代码回滚和指定版本操作。 3. **代码共享**...
要搭建Gitblit本地服务,你需要按照以下步骤操作: 1. **环境准备**: 确保你的系统已经安装了Java运行环境(JRE)。Gitblit依赖Java,所以这是必需的。 2. **下载Gitblit**: 访问Gitblit的官方网站或通过给定的...
本压缩包“Mac版本 git安装包.zip”提供了适用于Mac操作系统的Git安装程序,使得用户能够轻松地在本地环境中搭建Git环境。 Git的核心功能包括版本控制、代码差异比较、分支管理以及协同开发等。它允许开发者记录...
- 本地Git服务器搭建方法。 - **课程目标** - 熟练掌握30个常用的Git命令。 - 理解Git的内部原理。 - 熟悉企业版本控制流程。 - 能够使用Git跟踪开源项目、与他人协作、管理自己的开发工作。
第5篇 搭建Git服务器 第27章 使用 HTTP 协议/ 398 27.1 哑传输协议/ 398 27.2 智能 HTTP 协议/ 400 27.3 Gitweb 服务器/ 401 27.3.1 Gitweb的安装/ 402 27.3.2 Gitweb的配置/ 403 27.3.3 版本库的 Gitweb 相关设置/ ...
总的来说,Gitblit是企业内部搭建私有Git服务器的理想选择,它提供了一种简单有效的方式来管理和协作代码,同时保持了Git的强大功能。通过学习和掌握Gitblit,开发者和团队可以更好地利用Git进行版本控制,提高开发...
Git的设计初衷是为了支持大规模项目,如Linux内核,它能够高效地处理大文件、大规模的代码库,并且支持高速的非线性开发流程。 ### Git基础知识 #### 安装与配置 在开始使用Git之前,首先需要在你的系统上安装它...
设计和搭建Git服务器的步骤。 **4.5 公共访问** 设置公共访问的策略。 **4.6 网页界面GitWeb** 提供了一个用于浏览Git仓库的Web界面。 **4.7 权限管理器Gitosis** 管理仓库访问权限的工具。 **4.8 Git进程**...
最后,服务器搭建涉及到Git服务器的配置,如使用GitLab或GitHub等平台,或者自建Git服务器。这需要一定的网络和系统管理知识,但一旦配置好,就能提供稳定、安全的代码托管服务。 总之,本中文手册覆盖了Git的各个...
- **在服务器上搭建Git**:搭建Git服务器通常涉及到安装Git服务端软件、配置权限和SSH密钥等步骤。 - **第三方托管**:除了自己搭建服务器之外,还可以选择使用GitHub、GitLab等第三方服务提供商来托管Git仓库。 #...
用户可以通过多种方式安装Git,包括从源代码编译安装、在Linux/Mac/Windows系统上直接安装等。安装完成后,首次运行Git前还需要进行一些配置,如设置用户的姓名和电子邮件地址等。 ##### 3.2 基础操作 - **初始化...
1. 服务器或本地机器:可以是Linux、Windows或Mac操作系统。 2. PHP环境:DVWA需要PHP运行环境,例如XAMPP或LAMP。 3. 数据库:MySQL,用于存储DVWA的应用数据。 4. Git:用于克隆DVWA的源代码仓库。 步骤1:安装...
- **自托管服务**:组织可以选择自行搭建Git服务器来满足特定的安全和合规需求。 #### 四、在IBM Z系统上安装与使用Git IBM Z系统支持Git的安装和使用,可以通过以下步骤完成: - **需求**:确保系统已安装bash-4.3...
Git 是一个广泛使用的开源分布式版本控制系统,其设计目标是高效快速地处理各种规模的项目...服务器集成部分,特别是如何在CentOS服务器上搭建Git服务器,将进一步增强你对Git的运用,使你能够构建自己的代码托管平台。
在Mac OS系统上进行软件开发,构建一个高效的工作环境至关重要,而SourceTree是开发者们常用的一款免费的Git和Mercurial版本控制客户端。本压缩包提供的免登录版SourceTree简化了安装过程,使得用户无需创建或登录...