git:分布式-版本控制-软件
学习视频来自b站最新Git协作开发实战全套教程(通俗易懂适合新手)
本文的git环境前期为win10,后期为ubuntu
0. git安装:
git地址,linux平台通过命令行,Windows和macos平台下载安装包。
安装好后鼠标右键可以看到:
点击Git Bash Here,输入git --version
可查看git版本
接下来git环境换为ubuntu
1. git入门步骤:
- 建立要git管理的文件夹,进入文件夹,右键Git Bash Here ,输出“
git init
"初始化,可以发现文件夹里多出一个.git的隐藏文件夹。 - 输入
git status
检测当前目录下文件的状态,共有三种颜色:- 红色:新增的文件/修改过的老文件,git尚未管理。 操作:
git add 文件名
("git add .
" 添加所有文件) - 绿色:git已经管理起来了。 操作:
git commit -m "版本描述"
(git commit -m "v1"
) - 查询不到了:已经生成版本了。
- 红色:新增的文件/修改过的老文件,git尚未管理。 操作:
- 查询版本信息
git log
在生成版本前需要配置个人信息:用户名,邮箱【一次即可】,否则commit可能会出错
git config --global user.email "example@example.com"
git config --global user.name "Your Name"
git三大区域:工作区、暂存区、版本库
工作区 | 暂存区 | 版本库 |
---|---|---|
已管理;新增 / 修改 | 暂存刚添加的管理文件 | 保存版本 |
通过add 添加至暂存区➡ | 通过commit 添加至版本库➡ |
git回滚步骤:
git log
查看所有版本信息
回滚到v2版本git reset --hard 1cc6e11e4a81479..........
(回滚的版本号)
回滚后,通过git log
已经查不到v3版本的信息了
如果要再回到v3版本,则需要用git reflog
查看版本
通过git reset --hard 3553dde
再回到v3版本
2.分支
分支:用于开发与主线分离,等开发完成再与主线合并,主线通常名为master,开发线可命名为dev。也可用于临时修复bug。
git branch
查看已有分支,前面有* 表示的是当前所处分支;
git branch dev
创建一个新的名为dev的分支
git checkout dev
切换到dev分支
修改个文件并git提交git commit -m "dev"
,使用git log
查看
添修复bug分支:git branch debug
,git branch
,修改文件,提交版本:debug,git log
查看
将debug分支合并到master分支:
- 先转回master分支:
git checkout master
(非常重要) - 合并分支:
git merge debug
git log
查看- 删除 debug分支删除
转到master分支,融合dev分支,然而会出现冲突,因为master分支已经修复了bug,代码与dev分支的代码已经有不一致的地方,所以先把代码里的冲突手动解决,然后重新提交新的版本。
产生冲突的根本原因:两个分支在同一行代码上做了不同的修改
3. 基于github进行代码托管
在github注册账号,新建仓库,获取仓库地址例如:https://github.com/ZSYAD/gittest.git
在代码文件夹打开终端将代码推送到github仓库里:
git remote add origin https://github.com/ZSYAD/gittest.git
给仓库取别名为origin(一个仓库只用一次)git push -u origin master
推送master代码到github
可能会询问github的用户名和密码:
从github下载全部代码:
git clone https://github.com/ZSYAD/gittest.git
从github更新代码:git pull origin dev
git push
:本地推送到github
git pull
:本地从github更新
pull命令相当于fetch和merge,即从网上下载,再融合
git pull origin dev
= git fetch origin dev
+ git merge origin/dev
4. rebase(使git记录简洁)
第一种用途:简化个人提交的记录,将多个记录整合为一个记录
第二种用途:将分支合并回主线(与merge有区别 )
未完待续