Git客户端的工作

安装完成后,还需要最后一步设置,在命令行输入

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

查看用户名和用户邮箱

$ git config user.name    查看用户名
$ git config user.email 查看用户邮箱

修改用户名和用户邮箱

$ git config --global user.name "username"    修改用户名
$ git config --global user.email "email" 修改用户邮箱

本地创建Git仓库,创建一个空文件夹,Git Bash Here

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

本地创建公钥和私钥

$ ssh-keygen -t rsa -C "415459282@qq.com"
# 接下来,三个回车默认即可

命令中的-C "user.email"也可以不填即$ ssh-keygen -t rsa 可以对比一下填和不填的区别:

这是两台机器生成SSH key的两种方式,填了email的,生成的公钥末尾是email;没填email的,生成的公钥末尾是电脑的登录名@计算机名。

Git服务器端的工作

将管理员的公钥上传到Git服务器

我这里liangyadong.pub为管理员的公钥,上传到/home/git/目录下了。

安装配置gitolite

用git账号登录,并执行如下命令。

# 切换到git账号
$ su git # 进入git主目录
$ cd /home/git # 下载gitolite的仓库
$ git clone https://github.com/sitaramc/gitolite # 创建bin文件夹,必须!!!
$ mkdir -p $HOME/bin # 用下载下来的仓库中的insall执行安装操作,指向的目录就是上一命令行创建的目录
$ ./gitolite/install -to $HOME/bin # 把上传到服务器的 管理员的公钥setup到gitolite中,注意:YourName.pub改成你自己的文件名。
$ ~/bin/gitolite setup -pk ~/YourName.pub # 此时安装配完成后,查看git主目录
$ ls /home/git
drwxr-xr-x 7 git git 4096 Apr 3 23:50 bin # 我们创建的存放gitolite二进制
drwxrwxr-x 6 git git 4096 Apr 3 23:40 gitolite
drwx------ 6 git git 4096 Apr 3 23:52 .gitolite
-rw------- 1 git git 7130 Apr 3 23:52 .gitolite.rc
-rw------- 1 git git 398 Apr 3 23:39 malun.pub # 管理员的公钥
drwxrw---- 3 git git 4096 Apr 3 23:40 .pki
-rw------- 1 git git 19 Apr 4 00:26 projects.list # 仓库列表(gitolite自动创建)
drwx------ 5 git git 4096 Apr 4 00:26 repositories # 存放所有仓库文件夹
drwx------ 2 git git 4096 Apr 4 15:50 .ssh # repositories目录下已经有了两个git仓库了。
# .
# |-- gitolite-admin.git # 管理配置权限的仓库
# `-- testing.git # 测试仓库

好了,到此位置,管理员就可以直接把默认的远程管理的仓库gitolite-admin直接clone到本地进行管理git服务了。

第五步:管理员在本地管理(客户端)和配置服务器端的仓库

下载服务器端的远程管理仓库

# 下载远程管理仓库, 请把aicoder.com换成你自己服务器的域名或者ip
$ git clone git@aicoder.com:gitolite-admin
$ cd gitolite-admin
# 目录结构如下:
# .
# ├── conf # 配置文件夹
# │ └── gitolite.conf # 配置权限的文件
# └── keydir # 客户端的公钥文件夹,所有伙伴的公钥要放到此目录下
# └── malun.pub

参考https://www.cnblogs.com/yadongliang/p/10604331.html#_label1中第6步

gitolite的权限配置

  • 添加其他开发的小伙伴

    把小伙伴的公钥发给管理员。管理员添加到gitolite-admin仓库的keydir目录下,注意文件名字格式为username.pub,username就是配置权限时的用户名。

  • 配置用户对仓库的读写权限

    直接修改conf文件夹下的,gitolite.conf文件。简单解释下几个用法:

    • repo代表仓库的意思,如果新添加一个repo,代表服务端新建一个空仓库,仓库在conf配置文件push到服务端后会自动创建。
    • RW 代表可读可写
    • @all 代表所有人。
    • master和 dev代表分支

    参考:

    @admin = malun
    @om = malun bcd repo gitolite-admin
    RW+ = malun repo testing
    RW+ = @all repo om
    RW+ = @admin
    RW+ master = @admin
    RW+ dev = @om
  • 应用修改到服务器端

做好配置后,由管理员把修改push到服务器端,会自动处理。

$ git add conf
$ git add keydir
$ git commit -m "added foo, gave access to alice, bob, carol"
$ git push

此时登录服务端,查看/home/git/repositories/目录下是否增加了对应的仓库了呢?

另外,使用gitolite控制权限不需要修改/etc/passwd文件了,修改了反而会报错.

Git初始配置【一】的更多相关文章

  1. Git初始配置和基本使用

    初次运行Git前的配置 本文是在安裝完git以后首先应做到一些配置,安装教程可以参考廖雪峰git教程 用户信息 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址. 这样做很重要,因为每 ...

  2. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  3. [原]Jenkins(三)---Jenkins初始配置和插件配置

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5331 ...

  4. msys git 安装配置、git命令行使用

    安装 .安装msys git客户端程序 .打开git bash,命令ssh-keygen –C “admin@test.cn “ –t rsa .复制C:\Users\felix\.ssh\id_rs ...

  5. 1. Git初始

    一.Git初始 1. 定义 ​ 分布式的版本控制系统,在每个使用者电脑上就有一个完整的数据仓库,没有网络依然可以使用Git.当然为了习惯及团队协作,会将本地数据同步到Git服务器或者GitHub等代码 ...

  6. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  7. git的配置

    git的配置: Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量. 这些环境变量,决定了 Git 在各个环节的具体工作方式和行为.这些变量可以存放在以下三个不 ...

  8. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  9. Git 常用配置和使用

    Git:是一个分布式的源代码管理工具,Linux内核的代码就是用Git管理的所以它很强,也很快, 和 Vss/SVN比起来 本地Git初始化配置及其使用: 1. 初始化本地Git库:打开Git Bas ...

随机推荐

  1. 基于RBAC模型的权限设计:如何设计系统权限体系?

    一.什么是RABC RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念.取消了用户和权限的直接关联,改为通过用户关联角色.角色关联权限的方法来间接地赋予用户权限(如下图),从而 ...

  2. 为什么在定义hashcode时要使用31这个数呢?

    散列计算就是计算元素应该放在数组的哪个元素里.准确的说是放到哪个链表里面.按照Java的规则,如果你要想将一个对象放入HashMap中,你的对象的类必须提供hashcode方法,返回一个整数值. ht ...

  3. Solr基础知识二(导入数据)

    上一篇讲述了solr的安装启动过程,这一篇讲述如何导入数据到solr里. 一.准备数据 1.1 学生相关表 创建学生表.学生专业关联表.专业表.学生行业关联表.行业表.基础信息表,并创建一条小白的信息 ...

  4. day 04 作业 预科

    目录 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定义方式和使用方法. 数字类型 字符串类型 列表 字典 词云图 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定 ...

  5. MySQL Others--约束(Constraint)示例

    ENUM约束 --使用ENUM来限制用户输入 CREATE TABLE Student ( StudentID INT AUTO_INCREMENT PRIMARY KEY, ClassID INT, ...

  6. Linux SSH 服务

    本篇写一些关于Linux网络中SSH服务的相关知识. 测试环境 名称 IP地址 host01 192.168.28.128 host02 192.168.28.129 host03 192.168.2 ...

  7. 使用Apollo做配置中心

    https://blog.51cto.com/12980017/2158490?source=dra 由于Apollo支持的图形化界面相对于我们更加的友好,所以此次我们使用Apollo来做配置中心 本 ...

  8. SQL进阶系列之6用关联子查询比较行与行

    写在前面 使用SQL对同一行数据进行列间的比较很简单,只需要在WHERE子句里写上比较条件就可以了,对于不同行数据进行列间比较需要使用自关联子查询. 增长.减少.维持现状 需要用到行间比较的经典场景是 ...

  9. 七牛云——qshell一个神奇的工具

    前言 qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具.该工具设计和开发的主要目的就是帮助开发者快速解决问题.目前该工具融合了七牛存储,CDN,以及其他 ...

  10. EFK架构图

    Environment:{ 三台CentOS7操作系统 (环境均安装jdk) } 需要机器: 消息中间件的机器中  kafka 和 zookeeper 同时安装在三台虚拟机 logstash  960 ...