建议直接使用 gitlab 或者 gogs(开源很强大 -2016)
近来要使用Git作为新项目的版本控制,抽出时间来恶补 了下,主要参考是《Pro Git》,如果用心看了这本书,我下面的内容可以不用看了。下面主要是在centos下搭建了安装了Git,然后作为一个对项目内部的版本控制。
一、安装
1 下载git
wget https://github.com/git/git/archive/master.zip
2 安装
$tar zxvf git-2013-3-4.tar.gz
$cd git-2013-3-4/
$ autoconf
$ ./configure
$make && make install
测试是否安装成功
$git
如果出现info信息,说明安装成功
<!-----建议用gitosis来进行管理 ,不推荐ssh ---- 可以直接跳过看 第三点>
二、SSH管理
服务器端:
添加git管理账户
$ useradd git
$ su git
生成公钥
$ ssh-keygen -t rsa #一路回车
--
1在window下用puttygen生成公钥
2 将公钥的内容复制,写入到authorized_keys文件中(默认没有可以自己创建)
修改权限
chmod 644 .ssh/authorized_keys
3 保存密钥为 project.ppk(供客户端工具使用)
--
创建新的版本库(git 用户)
$ mkdir project.git
$ cd project.git
$ git --bare init #新的空版本
第一次导出 git用户在本地
第二次用工具
客户端(windows--TortoiseGit):
创建文件-->右键选择gitclone
Load putty key 选项选择保存的 私钥
然后就可以正常克隆git的版本了
三、Gitosis管理(权限管理建议使用这种方法)
服务器端
1 安装Gitosis
下载Gitosis
wget https://github.com/res0nat0r/gitosis/archive/master.zip
(地址可以自己寻找合适的,上面地址下载以后为master,需要改名为master.zip)
$unzip master.zip
$ cd gitosis-master
$ python setup.py install(root用户)
$ cd gitosis
初始化 Gitosis 了。需要通过自己的公钥来运行 gitosis-init (git用户)
$ gitosis-init < /home/git/.ssh/id_rsa.pub
将这个新的控制仓库中的 postupdate脚本加上执行权限
$ chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update (root用户)
测试是否配置正确
$ ssh git@192.168.1.83 (git用户)
输出下面内容为正确
PTY allocation request failed on channel 0
ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.
Connection to 192.168.1.83 closed.
$ git clone git@192.168.1.83:gitosis-admin.git (git用户)
(若无法克隆,说明安装有问题,不是绝对路径)
$ cd gitosis-admin
$ ls
keydir 为放置公钥的文件路径
gitosis.conf为配置权限目录
$ cat gitosis.conf
默认内容:
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
Members = git@localhost
添加一个群组
[group myproject]
writable = melon_project
Members = melon (多个时候,空格分开)
----
生成密钥,将公共密钥 存为melon.pub (跟members相同),上传到服务器/home/git/gitosis-admin/melon.pub,保存私钥保存
-----
$ git add .
$ git commit -m “message” .
$ git push
第一次需要通过这样的方式生成项目仓库
$ mkdir melon_p
$ cd melon_p
$ git init
$ git remote add origin git@192.168.1.83:melon_project.git
$ git push origin master (会提示没有提交任何文件,无所谓,这步会创建melon_project.git仓库,也可以添加些文件 再提交push)
之后,就可以在外部克隆仓库了..
注意: 使用gitosis进行控制时,不能在url前面添加 ssh:// 添加了会无法克隆仓库
基本的服务端和客户端都已经实现了,可以用git来作为项目的版本控制了
相关推荐
Git版本控制流程,介绍如何使用Git做版本控制,以及项目中的实际应用
Git是世界上最先进的分布式版本控制系统,它被广泛应用于软件开发、协作编辑和项目管理。最新的Git安装版本通常是开发者和团队为了获取最新特性和性能优化而关注的重点。本文将深入探讨Git的基本概念、安装过程以及...
版本控制系统(VCS)是开发人员管理项目文件变更历史的重要工具,它记录和跟踪项目中各文件内容的修改变化。版本控制系统可分为手工...掌握Git的安装与配置知识,对于任何一个需要进行版本控制的项目都是至关重要的。
Git是当今最流行的分布式版本控制系统,它被广泛用于软件开发,文档协作以及任何需要跟踪文件变更的项目。《Git版本控制管理 第2版》这本书详细介绍了Git的核心概念、基本操作和高级特性,帮助读者深入理解和熟练...
传统的版本控制系统如Subversion(SVN)采用集中式管理方式,而分布式版本控制系统(Distributed Version Control System,DVCS)如Git,则为每个开发者提供了一个完整的代码库副本,这极大地提高了效率并增强了系统...
Git版本控制流程是软件开发中的核心环节之一,它能有效管理项目的版本历史,支持多人协同工作,保持代码的稳定性。Git通过一系列命令来实现版本控制的各类操作,包括代码的提交、分支的切换、版本的合并以及版本标记...
5. **码云平台**:描述中提到的“码云”是中国的一个代码托管平台,类似于GitHub,提供Git仓库服务,团队可以在上面协作开发项目,管理代码,进行持续集成等操作。 6. **基本命令**:Git有丰富的命令集,如`git ...
7. GitHub支持:GitHub是一个基于Git的代码托管平台,提供了代码仓库、版本控制、问题跟踪、项目管理以及丰富的社区资源。通过GitHub,开发者可以共享代码、查找开源项目、参与协作,甚至为自己的项目积累贡献者。 ...
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是...
Git是一款强大的分布式版本控制系统,由Linus Torvalds在2005年为Linux内核开发,后来被广泛应用到各种软件开发项目中。标题“git版本控制工具”指的是Git在软件开发中的作用,即帮助开发者追踪和管理代码的版本变化...
Git 安装配置手册 Git 安装配置手册是指在 CentOS 环境下安装和配置 Git 服务器的详细步骤,这篇手册将指导您从...本手册提供了从零开始安装和配置 Git 服务器的详细步骤,並指导您掌握 Git 的基本概念和使用方法。
这个“git官方版,稳定版本”提供了最新的稳定版本,确保用户可以享受其高效、可靠的服务。Git由Linus Torvalds创建,最初是为了管理Linux内核的开发,但后来因其强大的特性,如分支、合并、版本追踪等,迅速在开源...
1. 分布式版本控制系统: Git是一个分布式版本控制系统,每个开发者都可以拥有整个项目的副本,可以独立地进行开发和提交修改。 2. 高速处理: Git可以高速地处理从很小到非常大的项目版本管理。 3. 灵活的分支...
在随后的年份中,Git因其优越的性能、速度以及对分布式开发的天然支持,迅速成为了开源社区和私有软件开发中使用最为广泛的版本控制系统之一。 版本控制系统是一种记录一个或多个文件内容变化,以便将来查阅特定...
### Git安装和使用教程...综上所述,Git不仅具备强大的分布式版本控制功能,还提供了灵活高效的分支管理机制,适用于各种规模的软件开发项目。通过掌握上述知识点,开发者可以更加高效地利用Git进行项目管理和协作。
Git是世界上最先进的分布式版本控制系统,尤其在软件开发领域被广泛使用。版本控制系统的存在使得开发者可以追踪代码的历史变更,协作开发,并能轻松回溯到任何历史版本。Git-1.9.0是Git的一个重要版本,它提供了...
### Git版本控制管理(第2版)核心知识点详解 #### 一、Git简介与特性 - **起源与发展**:Git最初是由Linux内核的主要开发者Linus Torvalds于2005年创建,目的是为了更好地管理和跟踪Linux内核源代码的变化。随着...
GitHub是一个基于Web的平台,它为Git提供了托管服务,允许开发者共享代码、发起Pull Request、进行代码审查以及管理项目。GitHub不仅仅是存储代码的地方,还是全球最大的开源社区,开发者可以在上面找到无数的开源...
Git不仅适用于开源项目,也广泛应用于企业内部的软件开发,是目前最流行的版本控制工具之一。 1. Git基本概念: - 仓库(Repository):存储项目所有版本信息的地方。 - 工作目录(Working Directory):用户实际...
Git是世界上最先进的分布式版本控制系统,它允许开发者对代码进行版本管理,协同开发,跟踪更改历史,以及方便地恢复旧版本。本压缩包“git安装文件及使用说明.rar”提供了Git的安装程序和一个关于TortoiseGit的使用...