git 的安装与初始化
1搭建本地git服务器:
1.1安装git
对于ubuntu系统,一般自带git,可以使用git --version 查看版本号 ,或使用apt-get install git 。
centos上对于新版本的git安装麻烦一点(centos7.2允许最新的git版本是1.8.3 ,要 安装大于这个版本的,就要通过编译安装)
先卸载低版本git , yum remove git
安装依赖包
- yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
- yum install gcc perl-ExtUtils-MakeMaker
- yum install xmlto
将出现提示:make[1]: Leaving directory `/usr/local/src/git-2.9.2/Documentation'
下载git安装包
- wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.2.1.tar.gz
- tar zxvf v2.2.1.tar.gz
- cd git-2.2.1
- make configure
- ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
- make all doc ># make install install-doc install-html
配置环境
- echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
- source /etc/bashrc
查看版本号
git --version
1.2在服务器端创建git 用户,用来管理git服务
cd /home
id git 查看git用户是否存在,返回no such user ,表示用户git不存在
useradd git 创建git用户及密码
passwd git
按提示填完信息后,git 用户就创建完成
1.3在服务器端创建git仓库
mkdir -p /home/git/repository/gittest.git 同创建普通文件夹的命令一样,-p表示上级目录不存在则逐层创建
git init --bare ./gittest.git 初始化git项目目录
chown -R git:git repository 将repository的拥有着改为git:git , -R表示更改权限的操作也将应用于该文件夹的子孙文件夹及文件。
2客户端使用git
先安装git, linux同上,windows的下载git的window版本即可。
2.1在命令行中配置git初始化信息(window上可右键选择git bash )
git config --global user.name "Your name" 这些用户名与email地址,git不会去验证,只是用作区分不同的用户而已
git congfig --global user.email "Your email"
2.2本地关联远程git仓库
现在可以直接克隆服务器上的git 仓库: git clone git@服务器公网ip:服务器上创建的git仓库的绝对路径
如 git clone git@120.32.136.3:/home/git/repository/gittest.git
也可将本地已有的项目,关联到远程服务器仓库地址: git remote add origin git@120.32.136.3:/home/git/repository/gittest.git,
然后将本地分支推送上去作为初始节点 git push --force --set-upstream origin master
首次连接远程git服务器时会有一个提示
- The authenticity of host '118.178.142.77 (118.178.142.77)' can't be established.
- ECDSA key fingerprint is SHA256:JwC9NxLIjBGqtLC2NUk8MulSc3XH3mM5AWMcFz0a5/8.
- Are you sure you want to continue connecting (yes/no)? yes
- 选择 yes :
- Warning: Permanently added '118.178.142.77' (ECDSA) to the list of known hosts.
- 此时 c:\Users\用户名\.ssh 下会多出一个文件 know_hosts ,以后在这台电脑上再次连接目标 git服务器时不会再有提示了
3使用ssh密钥 ,简化登陆git服务器
3.1在客户端生成密钥
linux : ssh-keygen -t rsa -C "myeamil@address.com" (先查看目录下是否先存在同名密钥文件)将在~/.ssh目录下生成id_rsa 和id_rsa.pub
windows git bash : ssh-keygen -t rsa -C "myeamil@address.com" windows上生成的密钥地址将在 C:\Users\用户名\.ssh下
3.2在服务器端ssh认证配置
vi /etc/ssh/sshd_config ,
去掉下面三行的注释
- RSAAuthentication yes
- PubkeyAuthentication yes
- AuthorizedKeysFile .ssh/authorized_keys
保存并重启sshd服务 service sshd restart ,最后一行表示的是公钥的存放路径 ,
更改文件的权限 :
cd /home/git
chmod 700 .ssh
cd .ssh/
chmod 600 authorized_keys
禁用git用户使用ssh登陆到服务器
vim /etc/passwd
将git:x:1001:1001::/home/git:/bin/bash改为 git:x:1001:1001::/home/git:/bin/git-shell
这样git用户可以通过ssh使用git ,但无法通过ssh登陆系统
3.3导入客户端的公钥到服务器 :
在git的home目录下创建目录.ssh ,将客户端生成的公钥复制到服务器端的/home/git/.ssh/authorized_keys文件中 : git bash 中使用命令 :
ssh git@服务器公网IP网址 ‘cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa_git.pub
后面添加公钥可以直接编辑 /home/git/.ssh/authorized_keys ,将公钥复制到下一行
git 的安装与初始化的更多相关文章
- Git学习笔记---安装与初始化 连接远程版本库
1.Git的安装 sudo apt-get install git 用的是linux(ubuntu)系统,安装非常简单,上面一条命令就够了. 2.初次运行的配置 Git 提供了一个叫做 git con ...
- Git——快速安装Git及初始化配置【二】
文档 https://git-scm.com/book/zh/v2 下载 mac https://git-scm.com/download/mac Linux https://git-scm.com/ ...
- git安装与初始化
命令行 Git有多重方式使用 原生命令行,才能使用git所有命令,会git命令再去用gui图形工具,完全无压力 GUI图形软件,只是实现了git的部分功能,以减免操作难度,难以记住git原生命令 不同 ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- Mac上git的安装配置与使用简述
Mac下git搭建及使用 之前就只是经常在GitHubs上下载代码,也没注意怎么上传项目.一开始对git都没什么了解花了几个小时去小补了下知识.如果有需要可以转去这里学习:[GIT使用简易指南] (h ...
- window下版本控制工具Git 客户端安装
安装使用 1.下载msysgit http://code.google.com/p/msysgit/ 2.下载tortoisegit客户端安装 http://code.google.com/p/tor ...
- 【转载】Git的安装与使用
Git的安装与使用 转载来源:http://www.cnblogs.com/Bonker/p/3441781.html 1,下载git https://code.google.com/p/msysg ...
- Git配置安装使用教程操作github上传克隆数据
Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...
- 版本管理工具Git(2)git的安装及使用
下载安装git 官方下载地址:https://git-scm.com/download/win 这里以windows为例,选择正确的版本: 验证是否安装成功,右键菜单中会出现如下菜单: Git工作流程 ...
随机推荐
- VC++ 实现程序重启
转载:https://blog.csdn.net/what951006/article/details/72729448 一.创建一个Win32项目 二.窗口处理函数中,Create窗口时创建一个按钮 ...
- [524.A]2019-05-02(星期四)登顶梧桐山邀请
*** 看房活动召集 ***五一期间天气炎热, 除了登山活动, 还将组织看房活动.拥有一套自己的住房是很多深圳人的梦想.政府十三五期间计划供应人才住房和保障性住房35万套, 与需求相比仍很少, 排队的 ...
- Swagger和Postman的配置和使用
Swagger 1. 配置 pom文件添加swagger依赖,注意版本,2.8.0可以使用 <dependency> <groupId>io.springfox</gro ...
- ArrayList迭代器源码分析
集合的遍历 Java集合框架中容器有很多种类,如下图中: 对于有索引的List集合可以通过for循环遍历集合: List<String> list = new ArrayList<& ...
- enum & json 之间的转换
enum 转为 string:EnumMember & StringEnumConverter public enum CampaignStatus : Int32 { [EnumMember ...
- 13_文件系统访问列表_case语句及脚本选项
FACL:Filesystem Access Control List利用文件扩展保存额外的访问控制权限 setfacl: -m:设定 u:UID:perm g:GID:perm root@kali: ...
- 数据结构|-用C#实现一个简单的链表
我们知道C#中是没有链表的,我们可以自己实现一个 整个单链表能实现的功能有: 功能 方法 返回值 备注 获取链表长度 GetLength() int 返回值是链表长度 清空链表 Clear() voi ...
- “妄”眼欲穿-CSS之flex布局和边框阴影
妄:狂妄: 不会的东西只有怀着一颗狂妄的心,假装能把它看穿吧. 作为一个什么都不会的小白,为了学习(zb),特别在拿来主义之后写一些对于某些css布局的总结,进一步加深对知识的记忆.知识是人类的共同财 ...
- Keras + LSTM 做回归demo
学习神经网络 想拿lstm 做回归, 网上找demo 基本三种: sin拟合cos 那个, 比特币价格预测(我用相同的代码和数据没有跑成功, 我太菜了)和keras 的一个例子 我基于keras 那个 ...
- 容器虚拟网卡与网桥docker0虚拟网卡的veth pair的配对
一)基本知识: Docker 安装时会自动在 host 上创建三个网络:none,host,和bridge:详细说明可参考其它文档.我们可用 docker network ls 命令查看: 基于DRI ...