经过10天的学习,Git与Github学习的差不多了,做以总结。
本次学习总共分享了八篇文章:
- (一)为什么需要版本控制及版本控制工具(以嵌入式项目开发为例)
- (二)Git简介及其安装(Git是什么、Git的诞生、Git的优势、Git的安装、初次运行Git前的配置)
- (三)Git命令行操作 —— 本地库操作(获取Git仓库、提交更新到仓库)
- (四)Git命令行操作 —— 本地库操作(查看提交历史、版本前进回退)
- (五)Git命令行操作 —— 本地库操作(分支管理)
- (六)Git命令行操作 —— Github远程库操作(创建远程库、给远程库地址取别名、推送远程库、拉取远程库、克隆远程库)
- (七)Git命令行操作 —— Github远程库操作(邀请远程库协作者、推送和拉取、协作时两种冲突的解决)
- (八)Git命令行操作 —— Github远程库操作(跨团队协作和PR)
可以看到,整个Git的学习其实就三部分:
- 版本控制及版本控制工具的了解、Git的简介及安装
- Git在本地库的操作
- Git在远程库的操作
整个学习的大纲如下(使用幕布总结):
- 版本控制
- 为什么需要版本控制
- 对于个人开发
- 数据备份
- 版本管理
- 对于团队开发
- 协同修改
- 权限管理
- 对于个人开发
- 版本控制工具
- 集中式:SVN
- 分布式:Git
- 为什么需要版本控制
- Git简介
- Git是什么:免费开源的分布式版本控制系统
- Git诞生:2005,Linus Torvalds,为了管理Linux内核源代码
- Git的优势
- 直接记录快照,而非差异对比
- 本地执行操作,无需联网
- 保证数据完整性
- 一般只添加数据
- Git的三个区域
- 工作区
- 暂存区
- 仓库
- Git的安装
- Windows
- Linux
- Git用户设置(提交使用)
- 用户名:git config --global "<用户名>"
- 用户邮箱:git config --global <用户邮箱>
- Git命令行操作
- 本地库操作
- 本地库初始化
- 现有目录初始化——git init
- 提交更新到仓库
- 查看文件状态——git status(-s参数表示简短信息)
- 添加内容到暂存区——git add(-A参数表示所有文件)
- 查看工作区和暂存区文件的区别
- 查看未暂存的修改——git diff
- 查看已暂存的修改——git diff --staged
- 提交更新——git commit -m "<提交信息>"(-a参数表示跳过暂存区)
- 忽略文件——.gitignore文件
- 移除文件
- 从仓库和暂存区移除,并且删除源文件:git rm <文件名>
- 从仓库和暂存区移除,保留源文件:git rm --cached <文件名>
- 查看历史提交
- 完整信息:git log
- 简短显示:git reflog
- 版本前进和后退(基于索引值)
- git reset --hard <索引值>
- 分支管理
- 分支创建:git branch <分支名>
- 分支查看:git branch -v
- 分支切换:git checkout <分支名>
- 分支合并
- 1.切换到要合并的分支上
- 2.合并:git merge <待合并的分支名>
- 分支合并的冲突解决
- 1.手动修改有冲突的问文件;
- 2.添加修改到暂存区:git add <文件名>
- 3.提交更新到本地库:git commit -m <提交信息>
- 本地库初始化
- 远程库操作(Github)
- 基本操作
- 分别创建本地库和远程库
- 给远程库地址取别名:git remote add <远程库别名> <远程库地址>
- 拉取操作:git pull <远程库地址/别名>
- 推送操作:git push <远程库地址/别名>
- 邀请团队协作者
- 发送邀请和接受邀请:在Github上完成
- 团队协作冲突
- Github上的推送必须基于最新的版本,否则要先拉取
- 修改地方相同,按照分支合并冲突解决
- 跨团队协作
- Fork
- 修改,提交更新,推送
- 提交请求PR
- 仓库拥有者审核代码,合并代码
- 合并后拉取Github最新版本到本地,方便下次推送
- 基本操作
- 本地库操作
整个大纲的思维导图如下: