一.叙述
1.Git简介
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.首先要去GitHub官网注册一个账号 详细教程:https://blog.csdn.net/qq_41782425/article/details/85179912
二.安装Git for Windows
1.Git下载地址 :https://git-scm.com/downloads 进入后点击Download下载,如下图所示
2.进入后选择自己对应的操作系统下载(32位或64位),如下图所示
3.下载好了后,打开下载好的文件进行安装
4.然后到如下图界面(默认即可)
5.点击Next下一步,到如下图界面,配置git环境,选择第一项
6.下面都是选择默认即可
7.点击Finish 完成安装
8.安装完成后,在桌面会有Git Bash快捷方式,以及桌面空白处右击出现Git命令,如下图
三.Git之git使用
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 “youremail@example.com” ( GitHub上注册时的邮箱 )
git config --global user.name “yourusername”
git config --global user.email “youremail@example.com”
ssh-keygen -t rsa -C “youremail@example.com”
如下图配置用户名以及邮箱,并查看配置是否成功
如下图创建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后,再提交就不会报错了。