Git
1 初始 Git
什么是 Git
Git 是一个分布式的版本控制软件。
- 软件:类似于 QQ、office 等安装到电脑上才能使用的工具。
- 版本控制:类似于毕业论文、写文案、视频剪辑等,需要反复修改和保留原历史数据。
- 分布式:
- 文件夹拷贝
- 本地版本控制
- 集中式控制
- 分布式控制
为什么要做版本控制
要保留之前所有的版本,以便回滚和修改。
安装 Git
Git 地址:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
Git 操作
第一阶段:自己写代码
版本控制
- 进入要管理的文件夹
- 右键 Git Bash Here
- 初始化
- git init
- 管理目录下的文件状态
- git status
- 管理制定文件
- git add index.html
- git.add .
- 个人信息配置:用户名、邮箱
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
- 生成版本
- git status
- git commit -m ‘描述信息’
- 查看版本
git log
第二阶段:拓展新空能
git add
git commit -m '短视频'
第三阶段:约饭功能
- 回滚至之前版本
git log
git reset -- hard 版本号
- 回滚之后版本
git reflog
git reset -- hard 版本号
git 出现中文乱码解决方法
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
export LESSCHARSET=utf-8
总结
2 Git 中的分支
初识分支
分支可以给使用者提供多个环境,意味着你可以把你的工作从开发主线分离开来,以免影响开发主线。
第四阶段:商城&紧急修复 bug
紧急修复线上bug的思路
基于分支修复线上 bug
查看目前你所在的分支
git branch
创建分支
git branch 分支名字
切换分支
git checkout 分支名称
分支合并(可能产生冲突)
git merge 要合并的分支
删除分支
git branch -d 分支名称
3 GitHub
GitHub
第五阶段->进军三里屯
第一天上班前在家上传代码
首先,需要注册 giyhub 账号,并创建远程仓库,然后再执行如下命令,将代码上传到 github。
给远程创库起别名
git remote add origin 远程创库地址
向远程推送代码
git push -u origin 分支
初次在公司新电脑下载代码
git clone 远程创库地址
切换分支
git checkout 分支
在公司下载完代码后,继续开发
切换到dev分支进行开发
git merge master
提交代码
git add .
git commit -m 'xxx'
git push origin dev
开发完毕,要上线
将 dev 分支合并到 master,进行上线
git checkout master
git merge dev
git push origin master
把 dev 分支也推送到远程
git checkout dev
git merge master
git push origin dev
约妹子忘记提交代码
拉代码
git push origin dev
提交代码
git add
git commit -m 'xxx'
回家继续写代码
拉代码,发现并没有公司代码
git pull origin dev
无奈,继续开发其他功能
把 dev 分支也推送到远程
git add .
git commit -m 'xxx'
git push origin dev
到公司继续写代码
拉代码,把昨天的代码拉到本地(可能存在冲突)
git push origin dev
解决冲突,继续开发
把 dev 分支也推送到远程
git add .
git commit -m 'xxx'
git push origin dev
4 多人协同开发工作流
多人协同开发工作流
创建项目&邀请成员
协同开发时,需要所有成员都可以对同一个项目进行操作,需要邀请成员并赋予权限,否则无法开发。github 支持两种创建项目的方式(供多人协同开发)。
- 1.合作者,将用户添加到仓库合作者中之后,该用户就可以向当前仓库提交代码。
- 2.组织,将成员邀请进入组织,组织下可以创建多个仓库,组织成员可以向组织下仓库提交代码。
成员开发
注册 GitHub 或 Gitlab 账号
- 邀请成员进入组织(默认对组织中的项目具有读权限);
- 邀请成员成为某项目的合作者
code review
- 配置,代码 review 之后才能合并到 dev 分支;
- 成员提交 code review 申请;
- 组长做 code review
提测上线 (预发布)
由专门团队或团队 leader 执行以下步骤
1.基于 dev 分值创建 release 分值
git checkout dev
git checkout -b release
2.测试等
3.合并到 mater
使用 pull request
本地将 release 合并到 master 分支
4.在 master 分支打 tag
git tag -a v2 -m '第二版 斗地主功能'
git push origin --tags
5.运维人员就可以去下载代码做上线了
git clone -b v2 地址
给开源项目贡献代码
- 1.fork源代码将别人源代码拷贝到我自己的远程仓库。
- 2.在自己仓库进行修改代码
- 3.给源代码的作者提交修复bug的申请(pull request)。