Git初始配置【一】
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文件了,修改了反而会报错.
转载于:https://www.cnblogs.com/yadongliang/p/11130056.html
Git初始配置【一】相关推荐
- Git自学之路(二)- Git初始配置和基本使用
Git自学之路- Git初始配置和基本使用 在学习完本文之后,你应该能够配置并初始化一个仓库(repository).开始或停止跟踪(track)文件.暂存(stage)或提交(commit)更改. ...
- GIT项目管理工具(part2)--初始配置
本系列BLOG为鄙人学习GIT时的学习笔记.前一个知识点引出后一个知识点,后一个例子接着前一个例子. 文章目录 GIT初始配置 试验一下 导航 系列文章目录 GIT初始配置 打开Git Bash 使用 ...
- GIT(一):版本控制、git历史、git基本概念、git安装配置、git版本管理(本地和远程)、git分支管理
目录 一.版本控制 1.1 版本控制概念 1.2 版本控制软件分类 1.2.1 集中式版本控制 1.2.2 分布式版本控制 二.git历史 三.GIT基本概念 3.1 GIT原理 3.1.1 GIT基 ...
- linux安装git并配置GitHub账号,本地与GitHub之间进行文件的上传(push)、下载(克隆)、更新
0310 Linux和github交互 参考链接: 安装git并配置GitHub账号: 本地与GitHub之间进行文件的上传(push).下载(克隆).更新 上传 下载 更新: 补充:GitHub的原 ...
- Sublime初始配置
Sublime在windows系统下的初始配置 安装插件 按下ctrl+shift+p调出命令面板,输入install选择install package 更改插件安装位置 插件默认安装位置为: C:\ ...
- Redhat 6 git 服务器 配置 (http)
Redhat 6 git 服务器 配置 (http) 1.安装git软件 推荐两个软件安装源: http://www.webtatic.com 里面主要是git, gitweb,gitolite ht ...
- 【VMCloud云平台】SCCM(三)初始配置
继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍为SCCM做一些初始配置(紫色为完成实施,红色为实施中): 1. 检测完成安装后的SCCM状态: 2. 点击管理,定位到如图位置 ...
- active server pages 错误 asp 0126_微信小程序全栈开发课程【视频版】2.1 小程序前端页面初始配置、ESlint格式错误...
点击观看视频 ↓↓↓ 小程序前端页面初始配置.ESlinthttps://www.zhihu.com/video/1195030595196223488 课程文字版 1.修改src/pages文件夹 ...
- win10下git的配置教程
win10下git的配置教程 下载并安装git 登录git的官方网站,下载git.注意在windows,linux,mac系统上的下载版本不同,要根据自己的本地环境来选择安装包,如下图所示,这里我们选 ...
最新文章
- Maven知识点简要
- maven+eclipse编译常见问题
- ustc小道消息20211225
- 解决EditText在ListView Item中,第一次点击无法获取焦点问题
- sqlserver还原差异备份
- svn 单独导出某一个目录文件
- 写JQuery 插件 什么?你还不会写JQuery 插件
- iDesktop点数据集构建DEM时三种插值方式的选择
- Oracle常用诊断事件清单
- 第7章 处理串行线路和帧中继连接故障
- [PAT B1020] 月饼
- SNS源码大集合--转载ITPUB
- java1.4.2中文下载_j2sdk1.4.2|Java 2 SDK Standard Edition(Java开发平台)下载v1.4.2官方版 - 欧普软件下载...
- 职场“奇葩说”:我的老板有多坑?
- linux的lilo,深 入Linux 的LILO-嵌入式系统-与非网
- 凸优化极简笔记(三):椭圆方程的矩阵形式
- 商丘服务器维修,商丘联想服务器维修网点
- 基于zynq的千兆网udp项目_米联客 ZYNQ/SOC 精品教程 S05-CH03-UDP千兆光通信
- dede posttocar.php.,plus/posttocar.php · lsok/jiushu2 - Gitee.com
- VBA-循环语句之Do...Loop
热门文章
- InputStream 、 InputStreamReader 、 BufferedReader区别
- mybatis表关联彻底理解
- 安装zookeeper集群及出现的问题
- Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with
- 上传图片时,图片大小不一,设置宽高,图片拉伸,如何处理呢,我来告诉你...
- DHTML【5】--HTML
- maxthon在浏览的页面上右键按住不动再按滚轮可以对打开的选项卡进行选择!
- nas servers
- formal method revision
- life at University of Liverpool