一、git概念的认识
学习git,需要了解三个内容:git、github、gitee
1.1 什么是git
git是什么 : 是一个安装在电脑上的软件
git的作用一:管理你的文件夹的(开发人员来说,是管理项目目录的)
如果没有git,左下图就是我们的项目目录会出现的现象,有了git,右下图
使用git记录的版本,我们都可以恢复到以前的任意版本,以及查看修改记录。
git作用二:把本地的内容上传到远程
git作用三:多人协作开发
1.2 什么是github
github是一个网站,是一个国外的"网站",也是一个服务器,
作用是:接收你上传的内容,类似一个云盘
但是它只能接收git软件上传的内容
同时也是一个社交平台,开源社区,发布的项目可以被"点星-->star"
1.3 什么是gitee
gitee是一个网站,是一个国内的"网站"
和github作用一致
但是它只能接收git软件上传的内容
二、git安装和配置
1.1 git的安装
1.2 git的配置
- 需要配置一个用户名和邮箱
- 查看配置信息:git config --list
- 配置全局用户名:git config --global user.name '你的用户名'
- 配置全局邮箱: git config --global user.email '你的邮箱'
1.3 git管理文件夹
git不会管理你的任何文件夹,想让你的文件夹被git管理,需要通知一下git,这个文件夹需要被管理
如何做:
- 把本地文件夹初始化称为git仓库,进入文件夹, git init,此时该目录就会被git管理
(当前目录下,会生成一个叫做.git的隐藏文件夹)
- 有了隐藏文件夹.git,表示当前目录被git管理了,当前目录以及后代目录都是被git管理啦。
注意:当你把文件夹初始化成git仓库后,git会虚拟的把你的文件夹分为三个区域(需要你自己想象一下)
工作区:你书写代码全部都在工作区
暂存区:
- 把你想形成历史版本的内容暂时存储(可以理解为论文的版本,在暂存区没有真正形成版本号)
- 暂存区可以回退到工作区
历史区:
- 你形成的一个个历史版本,只能把暂存区的内容形成历史版本
- 只能把暂存区的内容形成历史版本
- 形成的历史版本不能回退回来
- 历史区的内容最终上传到远程
1.4 git命令
- 切换目录到.git文件夹所在的目录,查看暂存状态:
-
- git status
- 把工作区的内容添加到暂存区:
-
- git 文件名称 ---->单独一个文件添加到暂存区
- git add . ---->所有文件添加到暂存区
- 把暂存区的内容回退到工作区:
-
- git reset HEAD -- 文件名称 ---> 单独撤回一个文件工作区
- git reset HEAD -- . ---->所有文件撤回到暂存区
- 查看历史版本:
-
- git log
- 生成历史版本:
-
- git commit -m "说明"
- 上述就会把当前暂存区的所有内容形成一个历史版本
- 回退历史版本(也就是把当前工作区回退到指定的那个时间节点的版本):
-
- git reset --hard 版本id
- git上传到远程(第一次)
-
- 建立一个远程仓库(打开 github 或者 github 网站,点击页面的右上角 加号(+), 点击新建仓库)
- 把本地仓库和远程仓库建立连接通道:git remote add origin 远程地址
-
- 把本地的历史版本推送到远程仓库:$ git push -u origin master
- git上传到远程(第一次)
-
- 只需要有未上传的历史版本就行
- 直接上传:输入指令: $ git push
- 远程拉取到本地
-
- 第一次拉取该远程仓库的内容:git clone 远程仓库地址
- 第 n 次拉取该远程仓库的内容:git pull
1.5 git分支
1.5.1 什么是git分支
在当前内容下, 开辟出一个 分支内容, 在分支上的所有书写,和原本内容不相干,当你需要分支上的内容的时候, 进行分支合并就可以了
1.5.2 查看所有分支
- 打开命令行, 切换目录到 .git 文件夹所在的目录
- 输入指令: $ git branch
1.5.2 创建一个新的分支
- 打开命令行, 切换目录到 .git 文件夹所在的目录
- 输入指令: $ git branch 分支名称
- 会把你当前所在的分支的所有内容复制一份放在新创建的分支上
1.5.3 切换分支
- 打开命令行, 切换目录到 .git 文件夹所在的目录
- 输入指令: $ git checkout 分支名称
- 切换到指定的分支位置,然后进行开发即可
- 把分支上本地的历史版本推送到远程仓库:$ git push -u origin 分支名称
1.5.4 合并分支
- 在 git 内的合并分支, 只有一种情况
- 你站在master分支上, 把其他分支的内容合并到自己身上
- 打开命令行, 切换目录到 .git 文件夹所在的目录
- 输入指令: $ git merge 分支名称
- 多次合并:出现vim命令界面,输入:wq 退出即可
三、设置秘钥
3.1 为什么要配置公钥和私钥:
Git使用https协议,每次pull, push都要输入密码,相当的烦。
使用git协议,然后使用ssh密钥。这样可以省去每次都输密码
3.2 Git生成秘钥及配置公有代码库步骤:
1.设置账号和邮箱
git config --global user.name "自已的用户" 例:git config --global user.name "fenlin"
git config --global user.email "自己的邮箱" 例:git config --global user.email "youxiang@163.co
m"
2.查看秘钥是否存在
cd ~/.ssh
3.生成秘钥
ssh-keygen -t rsa -C "自己的邮箱与上面邮箱一致" 按三次回车例: ssh-keygen -t rsa -C "youxiang@163.com"
4.查看秘钥,并复制到码云或github的ssh里
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD9S2lo0iALjcBeE7dlCpXN+dN3asjaABIQOjAQJSKM
ho+UL2LQJhmbPhYQyio2IRV4sHgXUSXseZ8Dzo/B8oBiC94h25rrIb8UMmKp3Cctk1e1LabmhIVwzAZt
4cpyHpyryUqGbE4hy+7vBcBGwGjuQBR1cixJn3v+nc6jGtF+4UlIXDSOu9sYMiyCuqGKCjqQjvLDGRul
VmtJ8eROPMJLlRZ43Xg+vTFz0jH3EJP8OnguU+EH82XMHhgDpD0xyWS/mVcDKtYh4rUL/Ky8fXQuxY
3b RU5QKjHYuw88E3impT7VZz9IRcJQUtet9xVh69/qyH56SGfxZ/LjbjUbuEcR
整个过程如下图所示:
- 复制查看的秘钥到ssh里(即码云的GitHub中公钥value框中)
- 码云中