`
wbj0110
  • 浏览: 1603213 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Git simple explain

    博客分类:
  • Git
阅读更多

虽然之前弄过了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 a simple guid

    ### Git简明指南知识点概述 本指南以简练的方式介绍了Git的基本使用方法,适用于初学者快速上手。主要内容包括Git的安装、基本概念、工作流程、添加与提交更改、推送更改到远程仓库以及分支管理等。 #### 安装Git ...

    simple-git:简明Git教程。浅显易懂,快速入门!

    Simple-Git则是一个封装了Git命令的Node.js库,使得在JavaScript环境中使用Git变得更加简单。本教程将带你快速掌握Git的基础知识,以及如何利用Simple-Git库进行操作。 ### 1. Git基础 **安装Git**: 在Windows、...

    Node.js-git-js一个轻量级接口用于在任何node.js应用程序中运行git命令

    **Node.js与Git-js接口详解** Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript进行编程。Git-js是针对Node.js环境设计的一个轻量级库,它提供了一个简单易用的接口,...

    git分支操作可视化展示explain-git-with-d3.zip

    explain-git-with-d3 使用 D3 对 git 的分支操作进行简单的可视化展示。 标签:explain

    git压缩包下载git下载

    Git是世界上最流行的分布式版本控制系统,它允许开发人员协作开发代码并跟踪每一次更改。"git压缩包下载git下载"这个标题和描述可能指的是提供Git的安装程序压缩包的下载服务。在本篇中,我们将深入探讨Git的核心...

    simple-git:Git简单指南

    Git简单指南 吉特简单地解释。 目录<!-在toc中省略--- > 什么是Git? 什么是Git? 什么是语义提交? 在每个提交之前添加一个类型,以简化提交的组织。 它经常从业力赛跑者公约中引用。 -feat:添加一些新...

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

    接下来,你可以学习基本的Git命令,如`git clone`(克隆远程仓库)、`git add`(暂存更改)、`git commit`(提交更改)、`git push`(推送本地更改至远程仓库)和`git pull`(拉取远程仓库的更新)等。 总的来说,...

    linux系统安装git及git常用命令

    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 for Windows 2017 最新版,Git-2.15.0 是Git的Windows适配版本,它为Windows用户提供了完整的Git功能,并且优化了在Windows环境下的使用体验。Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,...

    Git-1.9.0 git

    Git的主要操作包括初始化仓库(`git init`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看提交历史(`git log`)、分支管理(`git branch`和`git merge`)、远程仓库交互(`git clone`、`git ...

    git安装包git-2.34.0-64-bit.rar

    4. **命令行基础**:Git主要是通过命令行工具使用的,掌握常用的命令如`git clone`、`git add`、`git commit`、`git push`、`git pull`等是必不可少的。 5. **分支管理**:Git的分支机制强大且灵活,允许快速创建和...

    windows64位git安装包

    Git是分布式版本控制系统,它在软件开发领域尤其是开源项目中起着至关重要的作用。Windows 64位Git安装包是专门为64位Windows操作系统设计的Git版本,确保在该平台上高效稳定地运行。官方下载的Git安装包可以保证其...

    git创建服务器端

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,从而实现高效的协作和版本控制。本教程将深入讲解如何在自己的计算机上创建一个Git服务器端,建立远程代码仓库,以便团队成员可以进行协作...

    Gitblit搭建及Git协作开发流程参考

    Gitblit搭建及Git协作开发流程参考 本文档主要介绍了Gitblit的搭建和Git协作开发流程,旨在帮助创业团队和小型开发团队快速搭建自己的代码服务器。同时,文档也提供了基本的开发流程,代码提交、代码上传、代码...

    GitBash和GitGui右键失效解决方法

    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+GITHUB+GIT+SERVER的24堂课

    Git的基本操作包括初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看历史(`git log`)以及分支管理(`git branch`和`git merge`)等。...

    git 教材 progit

    Git是世界上最先进的分布式版本控制系统,被广泛应用于软件开发和协作工作中。ProGit是一本由Scott Chacon和Ben Straub编写的权威Git教材,中文版名为《Git权威指南》。这本书深入浅出地介绍了Git的基本概念、核心...

    Git离线rpm安装包

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,协同开发项目。在某些没有网络连接或者网络环境受限的场景下,离线安装Git变得尤为重要。本篇将详细介绍如何使用提供的Git离线rpm安装包在...

    Keil配置Git教程

    标题“Keil配置Git教程”指明了本文主要讨论的内容是关于如何在Keil开发环境中配置Git以进行软件项目的版本控制管理。Keil是一款常用于嵌入式系统开发的集成开发环境(IDE),而Git则是一种流行的分布式版本控制系统,...

    Git GitExtensions KDiff3

    Git是世界上最流行的分布式版本控制系统,它允许开发人员追踪和管理代码变更,协同开发项目。Git-2.21.0-64-bit.exe是Git的一个64位版本,包含了最新的2.21.0更新,提供了高效能和稳定性的改进。安装这个文件,用户...

Global site tag (gtag.js) - Google Analytics