01、什么是git?
git是一个免费的,开源的版本控制软件。
02、什么是版本控制?
一种记录一个或者若干文件状态,内容变化,以便将来查询特定版本修订情况的系统。
03、git的具体功能是什么?
(1)记录文件的所有历史变化。
(2)随时可恢复到任何一个历史状态。
(3)多人开发。
04、版本控制的软件是什么(类型)?
SVN 集中式
集中式是版本库在中央服务器上,工作时,用的都是自己的电脑,将代码提交到中央服务器,从中央服务器获取新的别人提交的代码。集中式必须联网才能工作,服务器如果挂掉,整个版本控制软件都不可用。
Git 分布式
分布式是每台电脑都是中央服务器。工作时,不需要联网,只把修改的内容推送给别人。
缺点:比较消耗资源,代码不安全。
05、下载安装
下载:
git 官网 https://git-scm.com/download/win
镜像地址 :https://npm.taobao.org/mirrors/git-for-windows/
安装:
下一步下一步
检测是否成功安装?
(1) 在任意位置,右键,出现 git bash here 和git gui here。
(2)打开cmd 命令行,输入指令 git --version 出现版本号就表示安装成功。
06、基础配置
6.1 查看git的全局配置
git config --list
执行效果如下:
其中红色部分是你的用户名和邮箱,第一次安装时是没有的, 最好设置为自己的用户名和邮箱。
用户名和邮箱是将来代码提交到远程服务器上时你的签名。
6.2 添加和修改用户名邮箱
git config --global user.email "你的邮箱"
git config --global user.name "你的用户名"
07、基础操作
7.1 创建git仓库
如果想要一个文件夹被git管理,就需要将其初始化为git仓库。
(1)在文件夹下右键打开git base here。
(2)输入指令 git init;
(3)文件夹中会多出一个.git的隐藏文件夹。
git分区概念图示:
7.2 查看工作区和暂存区状态
git status
7.3 提交到暂存区
git add 文件名
git add 文件夹名
git add . 把所有的文件都提交
7.4 从暂存区回退(很少用)
git reset HEAD 文件名
git reset HEAD 文件名
git reset HEAD . 把所有暂存区的文件都回退
//HEAD表示从当前版本中回退
如果没有提交过,回退时
git reset 文件名
git reset 文件夹名
git reset . 把所有暂存区的文件都回退
7.5 提交到版本库
git commit -m "提交说明"
7.6 查看版本历史记录
git log
效果图如下:
// commit 版本ID 当前版本 master分支
commit 5149d1acac5f9024c45fbeeaf0df8f215584daa4 (HEAD -> master)
// 谁提交的
Author: ashley <3559498133@qq.com>
//提交的日期
Date: Thu May 27 10:22:53 2021 +0800第二次提交,提交了一个c文件commit 05495cd28296e9d404524cab01f3f3b7504f617a
Author: ashley <3559498133@qq.com>
Date: Thu May 27 10:16:01 2021 +0800
7.7 回滚历史版本
git reset --hard 版本ID
7.8 删除历史版本
git rebase -i 版本ID
【注意】这个版本ID不能添加你要删除的版本,要填写它上一个版本的ID。
执行会弹出一个窗口(前提是:安装时,选择了vscode)
(1)把第一行的pick修改为drop
(2) 保存退出
如果没有选择vscode
(1)英文状态下,按下insert键,此时就可以编辑文本了
(2)把第一行的pick修改为drop
(3) 按下ESC键
(4)按下 :wq 回车 就删除成功了。
8、github
github是全球最大的社交编程网站。
github可以托管各种git仓库,并提供了可操作的web页面。
因为国内有时候打不开github,所以我们用gitee(码云)
9、将本地git仓库上传到远程
git本地仓库可以上传到远程仓库中,远程仓库可以是github或者gitee。
9.1 创建一个远程仓库
9.2 https
-
在任意位置下新建一个和仓库名同名的文件夹,最好父级目录不要有中文。
-
随意创建一个文件。
-
将新建文件提交成版本。
4. git remote add origin 你的仓库地址
9.3 remote 远程
origin 变量名,表示你的仓库地址。以后我们需要用到仓库地址的时候,就可以直接用origin
不需要再写很长的地址了。
这是将本地仓库与远程仓库进行关联
git push -u origin master
push:推送
-u:记录下你本次推送的地址,哪一个分支,下次提交时,只需要写git push即可。
-u origin master:相当于记住用户名,密码。
将git配置项中远程仓库地址删除
git remote rm origin
9.4 ssh公钥
-
在随意位置,打开命令行
-
输入以下命令
ssh-keygen -t rsa -C "git配置的邮箱"```
按下三个回车,在你的C:\Users\Administrator.ssh目录下会生成两个文件。
-
打开id_rsa.pub文件,将内容复制
-
打开gitee 设置–安全设置–ssh公钥 将复制的内容粘贴
-
来到仓库,点开克隆,选择ssh,复制路径
-
执行
git remote add origin git@gitee.com:你的地址```
git push -u origin master
10、从远程仓库拉取代码到本地
在需要拉取到位置,打开git bash
输入 git clone ssh的地址 回车即可。
11、git相关文件
README.md
远程仓库中关于该项目的说明。
.gitignore
git提交的忽略文件,如果有需要忽略的文件,可以把文件名写在里面。
12、分支
每个仓库都有一个默认分支 master 第一次都会推送到master分支上。
12.1 新建分支
git brance 分支名
12.2 查看所有分支
git brance -a
12.3 切换分支
git checkout 分支名
12.4 删除分支
git branch -d 分支名
【注意】删除时,必须切换到别的分支上,才可以删除要删除的分支。
12.5 合并分支
当前分支的工作开发完成后,需要将当前分支的代码合并到master上。
- 先切换到master分支上
- git merge 分支名
- 将合并后的版本推送到远程仓库。
12.6 将本地分支推送到远程
当我们在本地创建分支后,默认是不会上传到远程仓库的,git默认的上传分支是master分支。
git push origin 分支名
12.7 将远程分支拉取到本地
git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
12.8 删除远程分支
git push origin --delete 分支名
12.9 分支命名规范
1.主分支 master
(1)git仓库在创建时会自动生成,不要在master上面写代码。它只接受dev分支的合并。
(2)master分支上的代码要与正式环境保持一直。
2.主开发分支 dev
初始化项目之后,会从master分支上开辟。一般也不再dev上写代码。
3.功能分支 feature-xxx
从dev上开启的分支。比如开发购物车模块,我们可以起名 feature-shopCar 开发完成后,合并到dev上。
4.bug修复 feature-xxx-fix-xxx
第一个xxx是模块名,第二个xxx是bug的编号。
5.紧急修复bug hot-fix-xxx
从master直接开辟,用于紧急情况下的bug修复。XXX可以是bug编号,或者日期等等。
本文链接:https://my.lmcjl.com/post/13323.html
4 评论