往期文章:
1、公司常见的源代码管理工具 - Git、SVN、CVS基本原理以及区别简介
2、最新GitHub新手使用教程(Windows/Linux Git从安装、配置到使用)—详细图解
3、GIT常用命令超全整理
4、GitHub与GitLab的区别以及GitLab的搭建与使用
5、Git入门必看书籍推荐 - Pro Git
文章目录
-
- 一.Git简介
- 二.安装Git for Windows and linux
-
-
- windows系统(注意选择正确的安装选项)
- linux系统
- 三.Git之git配置使用
- 四.遇到的问题
一.Git简介
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.首先要去GitHub官网注册一个账号 详细教程:https://blog.csdn.net/qq_41782425/article/details/85179912
二.安装Git for Windows and linux
windows系统(注意选择正确的安装选项)
1.Git下载地址 :https://git-scm.com/downloads 进入后点击Download下载,如下图所示

2.进入后选择自己对应的操作系统下载(32位或64位),如下图所示

3.下载好了后,打开下载好的文件进行安装

4.然后到如下图界面(默认即可)

5.点击Next下一步,到如下图界面,配置git环境,选择第一项

6.下面都是选择默认即可




7.点击Finish 完成安装

8.安装完成后,在桌面会有Git Bash快捷方式,以及桌面空白处右击出现Git命令,如下图

linux系统
linux的安装比windows的简单,最简单的是直接使用系统包管理工具(如ubuntu的apt-get或centos的yum)安装;也可以采用自行下载源码包方式安装;
以centos系统为例:
Git是目前流行的非常好用的版本控制工具,这里介绍两种安装方式,1、yum安装,2、从github上下载最新的源码编译后安装
一、yum安装
1、在Linux上是有yum安装Git,非常简单,只需要一行命令

输入 git --version查看Git是否安装完成以及查看其版本号

顺便说一下,yum安装git被安装在/usr/libexec/git-core
目录下

至此,yum安装git完成。
二、从GitHub上下载最新的源码编译后安装
yum安装这么简单,为什么还要学从github上下载最新的源码编译后安装呢?
刚才输入git --version
命令的时候相信大家也看到了,是1.8.3.1
版本,这个版本还是蛮旧的。
yum安装就是这个缺点,版本你不好控制。如果想要使用最新版的git,那还是得自己下载源码安装。
1、进入git在GitHub上发布版本页面https://github.com/git/git/releases,这个页面我们可以找到所有git已发布的版本。这里我们选择最新版的tar.gz
包。

2、下载最新版本的tar.gz的Git到本地电脑上,利用WinSCP工具将压缩包上传至Linux服务器的/usr目录下

3、解压压缩包
tar -zxvf git-2.22.0.tar.gz

4、进入到解压后的文件夹


5、拿到解压后的源码以后我们需要编译源码了,不过在此之前需要安装编译所需要的依赖。
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

耐心等待安装完成,中途出现提示的时候输入y
并按回车。

6、提示,安装编译源码所需依赖的时候,yum自动帮你安装了git,这时候你需要先卸载这个旧版的git。
7、编译git源码
make prefix=/usr/local/git all
8、安装git至/usr/local/git
路径
make prefix=/usr/local/git install
9、配置环境变量
在底部加上
export PATH=$PATH:/usr/local/git/bin
( 输入 :wq! 保存修改)
10、刷新环境变量
11、查看Git是否安装完成
至此,从github上下载最新的源码编译后安装git完成。
┭┮﹏┭┮笔者在编译git源码的时候报了一个错,弄了好久,刚开始以为是方法不对呢,又重新安装安装,结果还是不错。百度了一下,发现是由于依赖没有装好┭┮﹏┭┮
解压后执行make的时候提示找不到expat.h,导致编译http-push.c失败。
**expat.h: No such file or directory** 解决方法如下:yum install expat-devel
三.Git之git配置使用
由于使用git命令行方式配置,因此windows和linux流程一致
1.git原理简介
仓库:本地仓库和远程仓库(托管在网络端的仓库)
本地仓库:工作区丶版本区,其中版本区包含暂存区丶仓库区
从本地仓库将文件git到远程仓库流程:工作区----> 暂存区 ----> 仓库区 ----> 远程仓库

2.创建项目的SSH Key,在桌面打开Git Bash快捷方式,或者是桌面右击选择Git Bash Here,如下图

a>配置用户名:git config --global user.name (github上注册的用户名)
b>配置用户邮箱:git config --global user.email (GitHub上注册时的邮箱)
c>在Git终端在输入ssh-keygen -t rsa -C "[email protected]" ( GitHub上注册时的邮箱 )
-
git config --
global user.name
"yourusername"
-
-
如下图配置用户名以及邮箱,并查看配置是否成功

如下图创建SSH Key,在终端输入 cd ~/.ssh 回车(进不进入.ssh目录无所谓)

创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

3.登录github注册或登录账号,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key
a>说明:如果当前目录不是~/.ssh目录,就输入cd ~/.ssh,然后ls 查看当前目录下的文件,vi id_rsa.pub,打开文件,选中内容右击点击Copy

b>登录你的GitHub,添加SSH Key



c>创建成功

4.将GitHub上的项目,克隆到本地一份
a>新建一个仓库(test)

b>复制仓库的HTTP 地址

c>进入C盘,在C盘下新建GitHub_test文件夹,将GitHub上的test仓库克隆到该文件夹目录下

d>克隆成功

e>进入该仓库就会显示(master分支)

5.将本地文件git到GitHub远程仓库
a>在GitHub_test目录下创建test2文件夹,该文件夹下创建一个test.txt文件,在test.txt文件内容中输入 hello github(用于测试)


b>如下图(git remote add origin 你的GitHub仓库的HTTPS地址或者是SSH地址,步骤4所示的地址),此时在test2目录下会有远程仓库上的README.md文件


c>将创建好的test.txt文件通过下图方式提交到远程仓库GitHub上(执行git add test.txt如果报错,请查看最下面的解决方法)

d>当执行git push origin master会出现登录验证(只有第一次会出现此验证),输入你GitHub账号和密码点击登录即可,然后出现提交成功

e>回到GitHub上,刷新仓库,会发现我们提交的test.txt文件已经成功git到远程仓库中了


四.遇到的问题
在执行git add test.txt 将工作区文件添加到暂存区,报错如下

解决方法:是因为unix系统与windows系统跨平台问题导致,执行git config core.autocrlf false后,再提交就不会报错了。