首先安装Windows客户端的git和TortoiseGit。

安装这两个软件还是蛮重要的,很多选项不能乱选。

为了写个完整的博客,我是装了又卸,卸了又装。

1.安装git

下载:https://git-scm.com/

2.安装TortoiseGit

下载 https://tortoisegit.org/download/ 别忘了中文语言包也一起下载了

当把乌龟安装好后遇到语言选择的界面先别动,直接安装中文包,中文包安装好后再继续配置乌龟点击refresh就可以选择中文继续往下走。

3.安装git

yum install git

4.创建存储目录(涉及路径乃自定义,看心情。)

mkdir /var/gitdata

5.添加git用户

groupadd git

useradd git -g git

passwd git

6.切换到git账号

su git

7.创建项目仓库

cd /var

mkdir gitdata/shici.git

8.初始化裸仓库

git init --bare gitdata/shici.git

9.创建公钥

ssh-keygen(按这条命令的时候直接按回车 不要输入东西)

然后会在当前用户也就是git用户的家目录里生成一个.ssh目录 里面id_rsa是私钥 id_rsa_pub是公钥

10.切换回root

su root

vi /etc/ssh/sshd_config

打开以下注释:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys (指定存放公钥的路径是git家路径.ssh下的authorized_keys)

11.重启sshd服务

systemctl restart sshd.service

12.客户端创建公钥

在本地项目目录中找个空目录,点击右键打开git bash

ssh-keygen(按这条命令的时候直接按回车,不要输入东西)

此时,C:\user\用户名\.ssh下会多出两个文件id_rsa是私钥,id_rsa_pub是公钥。

13.下面两条语句客户端和服务器端都要执行 输入自己github上的用户名和邮箱

git config --global user.name small-qiutian

git config --global user.email 937240319@qq.com

14.服务端存放客户端公钥

vi /home/git/.ssh/authorized_keys

将客户端的公钥文件里的东西全部复制进去 当然 当前目录下的那个id_rsa.pub里的内容也可以一股脑儿复制进来。

15.修改权限

.ssh目录的权限必须为700(必须)

chmod 700 /home/git/.ssh

.ssh/authorized_keys文件的权限必须为600(必须)

chmod 600 /home/git/.ssh/authorized_keys

修改家目录所有者

chown -R git:git /home/git

16.github存放服务端公钥

打开https://github.com/ 登陆账号 进入设置

在SSH and GPG keys中添加Linux服务端的公钥,title随便填,内容把公钥文件里的东西全部复制过来就行。

回到Linux 输入以下命令:

ssh -T git@github.com

输入yes回车 提示成功

17.检出项目(用git的话叫做克隆项目)

切换git账号

su git

git clone git@116.62.171.126:/var/gitdata/shici.git

以上命令客户端打开bash输入一遍,服务端也输入一遍。

18.一些简单的命令

git add 1.txt #添加文件到本地仓库

git rm 1.txt #本地仓库内删除

git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。

git commit -a  #自动更新变化的文件,a可以理解为auto

git push origin master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。

git pull origin master #更新项目

19.钩子

切换root账号

su root

vi /var/gitdata/shici.git/hooks/post-receive

输入以下四行内容:

#!/usr/bin/bash

cd /var/www/shici

unset GIT_DIR

git pull origin master

(第一行请自行以whereis bash查找一下你服务器上的bash路径,第二行cd进项目目录)

再给个权限:

chmod 755 /var/gitdata/shici.git/hooks/post-receive

chown git:git /var/gitdata/shici.git/hooks/post-receive

这样客户端提交代码,服务端项目就可以自动更新了,前提是必须切换到git账号手动拉取一下项目,进行一个yes授权记住密码,否则无法自动更新。客户端也一样,所有的基本操作最好先用bash命令行走一圈。

20.禁止登陆shell

vi /etc/passwd

找到git用户那一行 改为:

git:x:1001:1000::/home/git:/usr/bin/git-shell

(最后的路径是你的服务器上git-shell的实际路径)

至此,git的安装配置已经全部讲解完毕,这应该算是全网最详细的流程了。

感谢阅读

Git安装配置(完整版)的更多相关文章

  1. JMeter下载及安装配置完整版

    特别需要注意的时,jdk版本和jmeter版本匹配问题. Jdk1.8对应apache-jmeter-3.3 Jmeter下载及安装配置 本文是在win7环境下安装使用jmeter,jmeter可以运 ...

  2. MySQL5.6 Replication主从复制(读写分离) 配置完整版

    MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...

  3. [转帖]redhat7.6Linux安装Oracle19C完整版教程

    redhat7.6Linux安装Oracle19C完整版教程 https://www.oracle.com/technetwork/database/enterprise-edition/downlo ...

  4. Git 安装配置手册

    Git 安装配置手册 首先我们要了解 Git 是类似于 SVN 用来管理项目的 首先要先下载 Git ,这个东西相当于一个核,是该功能的核心 下载地址(<https://gitforwindow ...

  5. Git安装配置和提交本地代码至Github,修改GitHub上显示的项目语言

    1. 下载安装git Windows版Git下载地址: https://gitforwindows.org/ 安装没有特别要求可以一路Next即可,安装完成后可以看到: 2. 创建本地代码仓库 打开G ...

  6. Android studio gradle配置完整版(转)

    Android studio gradle配置完整版https://my.oschina.net/u/1471093/blog/539075 Android studio 自定义打包apk名 - pe ...

  7. Git-Runoob:Git 安装配置

    ylbtech-Git-Runoob:Git 安装配置 1.返回顶部 1. Git 安装配置 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 W ...

  8. Linux下git安装配置

    一.Linux下git安装配置 2013-07-28 20:32:10|  分类: 默认分类 |  标签:linux  git  server  |举报|字号 订阅     http://abomby ...

  9. 【第二篇】- Git 安装配置之Spring Cloud直播商城 b2b2c电子商务技术总结

    Git 安装配置 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://g ...

随机推荐

  1. jsp 重定向技术

    页面重定向之后,request对象的属性全部失效,生成一个新的requeset对象

  2. 9.Spark Streaming

    Spark Streaming 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark弹性 ...

  3. Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案

    注意:此参考解决方案只是针对xlsx格式的excel文件! 背景 前一段时间遇到一种情况,服务器经常宕机,而且没有规律性,查看GC日志发生了out of memory,是堆溢出导致的,分析了一下堆的d ...

  4. 暑假集训D11总结

    %dalao 今天某学长来讲一个极其高深的数据结构——线段树(woc哪里高深了),然而并没有时间整理笔记= =,所以明天在扔笔记咯= = 考试 今天考试,一看数据范围,woc暴力分给的真足,然后高高兴 ...

  5. CentOS 7 安装Subversion, 并用Nginx代理

    环境:CentOS 7.3.1611 分三步:第一步:安装subversion第二步:安装httpd第三步:安装nginx 操作步骤: 安装subversion, 命令 -> yum -y in ...

  6. 表达式求值(二叉树方法/C++语言描述)(一)

    使用二叉树对算数表达式(以下简称为表达式)进行求值,实质上是将表达式转换为二叉树,对其进行后序遍历,得到后缀表达式的同时可以求得表达式的值.转换和求值的过程也需要借助数据结构栈的帮助. 二叉树数据结构 ...

  7. swift 录制多个音频 并将音频转换为mp3 并合成多个mp3文件为一个文件

    我的需求是可以录制多个文件,最后生成的文件格式为mp3形式,查了下各种资料,因为swift无法直接将音频录制为mp3格式,所以最后我采取的解决方案为先将每个单独的文件转为mp3,最后逐一合并形成一个m ...

  8. xxe漏洞的学习与利用总结

    前言 对于xxe漏洞的认识一直都不是很清楚,而在我为期不长的挖洞生涯中也没有遇到过,所以就想着总结一下,撰写此文以作为记录,加深自己对xxe漏洞的认识. xml基础知识 要了解xxe漏洞,那么一定得先 ...

  9. 7种方法解决移动端Retina屏幕1px边框问题

    在Reina(视网膜)屏幕的手机上,使用CSS设置的1px的边框实际会比视觉稿粗很多.在之前的项目中,UI告诉我说我们移动项目中的边框全部都变粗了,UI把他的设计稿跟我的屏幕截图跟我看,居然真的不一样 ...

  10. JavaScript操作cookie基础分析

    简要介绍 cookie是什么cookie是HTTP协议的一部分.HTTP Cookie(也叫Web cookie或者浏览器Cookie)是服务器发送到用户浏览器并保存在浏览器上的一块数据,它会在浏览器 ...