git安装后找不见版本_Git安装配置(完整版)

本文详细介绍了在Windows上安装Git和TortoiseGit的步骤,包括创建存储目录、添加git用户、初始化裸仓库、配置公钥、处理权限问题以及设置钩子实现自动更新。此外,还提供了解决常见错误的方法和一些基本的Git命令。
摘要由CSDN通过智能技术生成

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

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

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

1.安装git

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

0ee575e1297e134f5d0b550270160518.png

da598b3c1c273adff029e9527d61dd72.png

a129fa12046addef8bf12db7880dcd7e.png

d9e14f7d17625160f3a13ab5a41970a6.png

fe9380b60fa6517bfd4e4ff600d8e586.png

a3575005af71a68164569a05a36fb869.png

2.安装TortoiseGit

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

6b62825743a903839eb4147d1abfdd52.png

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

472eefb60cbf7114ec612654c699e127.png

3.安装git

yum install git

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

mkdir /var/gitdata

单给一个777权限 以便将来用git账号在这里创建git仓库

chmod 777 /var/gitdata

5.添加git用户(其实后来我把git用户换到了root组 还挺方便的)

groupadd git

useradd git -g git

passwd git

6.切换到git账号

su git

7.创建项目仓库

cd /var

mkdir gitdata/a.git

8.初始化裸仓库

git init --bare gitdata/a.git

9.创建公钥

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

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

10.切换回root

su root

vi /etc/ssh/sshd_config

打开以下注释:

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 zhao-baolin

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@192.168.11.11:/var/gitdata/a.git

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

如果服务器更新遇到这个错

fatal: Couldn't find remote ref master

fatal: The remote end hung up unexpectedly

或者客户端更新遇到这个错

Your configuration specifies to merge with the ref 'refs/heads/master'

from the remote, but no such ref was fetched.

请不要慌乱 曾经我在这里持续折腾了七个小时 网上查了个底朝天也没查到解决办法

最后找到原因之后 我才明白为什么网上查不到 因为没人有我这么傻逼

原因是没有找到master分支 为什么没有master分支呢 因为master分支是首次提交后创建的 然而我克隆了就直接pull 简直就是脑残  当时我只是想测试一下跑不跑得通。。。

18.一些简单的命令

原来这里写了一些简单的命令  后来我自己都懒得看  因此贴一篇比较详细的资料在文章末尾 方便查阅

19.钩子

切换root账号

su root

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

输入以下四行内容:

#!/usr/bin/bash

cd /var/www/a

unset GIT_DIR

git pull origin master

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

再给个权限:

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

chown git:git /var/gitdata/a.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的实际路径)

将来若要添加新仓库

可修改/etc/passwd文件允许git用户登入shell

然后登录git账号做以下操作

1. 切入仓库目录 cd /var/gitdata

2. 创建仓库 mkdir b.git

3. 初始化仓库 git init --bare b.git

4, 创建钩子 vi /var/gitdata/b.git/hooks/post-receive

5. 输入以下四行内容

#!/usr/bin/bash

cd /var/www/b

unset GIT_DIR

git pull origin master

6, 修改权限 chmod 755 b.git/hooks/post-receive

7. 切进项目目录 cd /var/www

8. 如果用的root账号做的这些事情  那么请一定记住把目录所有者设置为git

chown git:git -R /var/gitdata

chown git:git -R /var/www/b

9. 克隆项目 git clone git@192.168.11.11:/var/gitdata/b.git

git命令清单:

http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值