虽然之前弄过了svn,但是最近,老大又要求使用git来进行版本控制。好吧,暂停下手上的项目,折腾下Git吧。
学习的资料就是progit的ebook,写的真的是很好很详细。强烈推荐移步progit去学习下。ebook的最下方可以选择语言,有中文版的。
因为是几个人一起开发的项目,所以就配置了一个私有小规模团队的git。所谓私有,就是每个人都具有读写权限,且不对外公开。所以采用SSH公钥来进行授权。
假设项目中有3个人:
ritter ip:192.168.1.1, tom ip:192.168.1.2 ,jack ip:192.168.1.3。其中ritter的机子为git服务器。
首先,每个人获得自己的ssh公钥,每个人先装ssh:
$ sudo apt-get install openssh-client
$ sudo apt-get install openssh-server
然后执行ssh-keygen命令生成ssh公钥:
$ ssh-keygen
输入完命令后可能会要求输入一些配置信息,可以不输,一路回车到底。
现在,在~/.ssh目录下应该就有一个叫 id_rsa.pub的文件了,用gedit打开:
$ gedit ~/.ssh/id_rsa.pub
将每个人的id_rsa.pub里的内容复制到ritter的~/.ssh/authorized_keys 文件中,包括ritter自己在id_rsa.pub里的内容。
如果在ritter的~/.ssh 目录下没有 authorized_keys文件,可以自己用gedit 新建一个:
$ gedit ~/.ssh/authorized_keys
然后把每个人的id_rsa.pub中的内容拷入即可。这样就配置好了ssh公钥了,只要是在authorized_keys里有公钥的用户,都可以对git仓库读写。
下面就是配置ritter的git仓库了,假如在/work目录下新建project.git:
$ sudo mkdir /work
$ cd /work
$ mkdir project.git
$ cd project.git
进入project.git目录后,可以用 --bare 选项运行 git init 来建立一个裸仓库,这会初始化一个不包含工作目录的仓库:
$ git --bare init
这是,会提示初始化完成,然后就是要向这个裸仓库中加入文件了。
假如是由tom将自己的一个工程 myProject加入仓库中,首先,要进入myProject:
$ cd myProject
使用git init命令将此工程变为git版本控制的目录:
$ git init
执行成功后可以用ls -a命令查看,会有一个隐藏的.git目录,里面就是存储版本控制信息的。
然后执行git add .,注意,add后是空格,然后是一个点,此命令将当前目录下所有文件添加进入暂存区域中去:
$ git add .
此时还需要commit,加参数m后可以加入注释信息:
$ git commit -m 'initail commit'
现在本地的快照就更新了,然后发送到ritter的git服务器里:
$ git remote add origin ritter@192.168.1.1:/work/project.git
其中的origin是自己自定义命名的在git仓库中的分支的名称,此时再push一下,更改就成功了:
$ git push origin master
origin是刚才命名的位于ritter机器中的git服务器里的分支的名称,而master是本地存储的分支的名称,是git init后默认生成的名字。
上面的命令就是将本地分支master里的修改应用进ritter的git服务器里的origin分支里去。至此,git服务器的代码仓库就配置好了。
下面,如果jack要参与开发,就从ritter那clone下来一份代码,假如clone到自己在~/jackProject里,首先进入jackProject目录:
$ cd ~/jackProject
然后执行clone命令:
$ git clone ritter@192.168.1.1:/work/project.git
执行完成后,ritter机子里,刚才tom上传进去的myProject就下载到jack的jackProject目录里了,当然,在clone命令后面可以加上自定义的文件夹名称,
假如要重命名为project:
$ git clone ritter@192.168.1.1:/work/project.git project
这样就可以了。
ritter自己也要参与开发的话,也可以clone到自己的开发目录下面,方法相同。
相关推荐
### Git简明指南知识点概述 本指南以简练的方式介绍了Git的基本使用方法,适用于初学者快速上手。主要内容包括Git的安装、基本概念、工作流程、添加与提交更改、推送更改到远程仓库以及分支管理等。 #### 安装Git ...
Simple-Git则是一个封装了Git命令的Node.js库,使得在JavaScript环境中使用Git变得更加简单。本教程将带你快速掌握Git的基础知识,以及如何利用Simple-Git库进行操作。 ### 1. Git基础 **安装Git**: 在Windows、...
**Node.js与Git-js接口详解** Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript进行编程。Git-js是针对Node.js环境设计的一个轻量级库,它提供了一个简单易用的接口,...
explain-git-with-d3 使用 D3 对 git 的分支操作进行简单的可视化展示。 标签:explain
Git是世界上最流行的分布式版本控制系统,它允许开发人员协作开发代码并跟踪每一次更改。"git压缩包下载git下载"这个标题和描述可能指的是提供Git的安装程序压缩包的下载服务。在本篇中,我们将深入探讨Git的核心...
Git简单指南 吉特简单地解释。 目录<!-在toc中省略--- > 什么是Git? 什么是Git? 什么是语义提交? 在每个提交之前添加一个类型,以简化提交的组织。 它经常从业力赛跑者公约中引用。 -feat:添加一些新...
接下来,你可以学习基本的Git命令,如`git clone`(克隆远程仓库)、`git add`(暂存更改)、`git commit`(提交更改)、`git push`(推送本地更改至远程仓库)和`git pull`(拉取远程仓库的更新)等。 总的来说,...
1 安装GIT 代码如下:$ sudo aptitude install git$ sudo aptitude install git-doc git-svn git-email git-gui gitk git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,...
Git for Windows 2017 最新版,Git-2.15.0 是Git的Windows适配版本,它为Windows用户提供了完整的Git功能,并且优化了在Windows环境下的使用体验。Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,...
Git的主要操作包括初始化仓库(`git init`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看提交历史(`git log`)、分支管理(`git branch`和`git merge`)、远程仓库交互(`git clone`、`git ...
4. **命令行基础**:Git主要是通过命令行工具使用的,掌握常用的命令如`git clone`、`git add`、`git commit`、`git push`、`git pull`等是必不可少的。 5. **分支管理**:Git的分支机制强大且灵活,允许快速创建和...
Git是分布式版本控制系统,它在软件开发领域尤其是开源项目中起着至关重要的作用。Windows 64位Git安装包是专门为64位Windows操作系统设计的Git版本,确保在该平台上高效稳定地运行。官方下载的Git安装包可以保证其...
Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,从而实现高效的协作和版本控制。本教程将深入讲解如何在自己的计算机上创建一个Git服务器端,建立远程代码仓库,以便团队成员可以进行协作...
Gitblit搭建及Git协作开发流程参考 本文档主要介绍了Gitblit的搭建和Git协作开发流程,旨在帮助创业团队和小型开发团队快速搭建自己的代码服务器。同时,文档也提供了基本的开发流程,代码提交、代码上传、代码...
6.选中 Git GUI Here 右键新建(项),并重命名为command,command的值设置为 D:\Program Files\Git\cmd\git-gui.exe --working-dir %v,其中--working-dir和git-gui.exe之间有空格,--working-dir和%v之间也有空格 ...
Git的基本操作包括初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看历史(`git log`)以及分支管理(`git branch`和`git merge`)等。...
Git是世界上最先进的分布式版本控制系统,被广泛应用于软件开发和协作工作中。ProGit是一本由Scott Chacon和Ben Straub编写的权威Git教材,中文版名为《Git权威指南》。这本书深入浅出地介绍了Git的基本概念、核心...
Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,协同开发项目。在某些没有网络连接或者网络环境受限的场景下,离线安装Git变得尤为重要。本篇将详细介绍如何使用提供的Git离线rpm安装包在...
标题“Keil配置Git教程”指明了本文主要讨论的内容是关于如何在Keil开发环境中配置Git以进行软件项目的版本控制管理。Keil是一款常用于嵌入式系统开发的集成开发环境(IDE),而Git则是一种流行的分布式版本控制系统,...
Git是世界上最流行的分布式版本控制系统,它允许开发人员追踪和管理代码变更,协同开发项目。Git-2.21.0-64-bit.exe是Git的一个64位版本,包含了最新的2.21.0更新,提供了高效能和稳定性的改进。安装这个文件,用户...