一、具备的功能

  • 协同修改
  • 数据备份,不会删除文件只会叠加各种版本的项目
  • 权限控制
  • 历史记录
  • 分支管理,提高开发效率

二、版本控制简介

  • 版本控制工具分为集中式版本控制工具:CVS、SVN、VSS和分布式版本管理工具GIt、Mercural、Bazaar,分布式版本管理可避免单点故障。

三、Git简介

3.1 Git结构

工作区 =git dd=》 暂存区 =git commit=》本地库

3.2 本地库和远程库

3.2.1 团队内部协作

尚硅谷——git学习总结

3.2.2 跨团队合作

尚硅谷——git学习总结

四、Git命令行操作

4.1 Git Bash基础操作

4.1.1 基本指令

基于Vim编辑器
尚硅谷——git学习总结补充:

查看文件内容
cat 文件名

编辑文件内容
vim 文件名

退出文件编辑
ESC + :wq

4.2 设置签名

签名用于区分不同开发人员的身份

用户名:xiuzhu
Email:[email protected]

4.2.1 项目级别/仓库级别:仅在当前本地库范围内有效

指令:
git config user.name xiuzhu_pro
git config user.name [email protected]

4.2.2 系统用户级别:登录当前操作系统的用户范围

指令
git config --global user.name xiuzhu_glb
git config --global [email protected]

4.3 基本操作

4.3.1 状态查看

作用查看工作区、暂存区状态

指令
git status

4.3.2 添加

将工作区的“新建/修改”添加到暂存区

指令:
git add [文件名]

4.3.3 提交

将暂存区的内容提交到本地库

指令:
git commit -m “注释信息” [文件名]

4.3.4 查看历史记录

查看文件的操作记录

指令1:
git log
尚硅谷——git学习总结

指令2:
git log --pretty=oneline
尚硅谷——git学习总结

指令3:
git log --oneline
尚硅谷——git学习总结

指令4:
git reflog
尚硅谷——git学习总结

4.3.5 版本的前进后退

本质是HEAD指针的移动
尚硅谷——git学习总结

== 指令1:基于索引值操作(推荐) ==
git reset --hard a6ace91

指令1:使用~符号,只能后退
git reset --hard HEAD~n
注:表示后退 n 步

4.3.6 删除文件的找回

删除前,已经提交到了本地库

指令1:
git reset --hard [指针位置]

4.4 分支管理

同时推进的多个功能的开发

4.4.1 创建分支

指令
git branch [分支名]

4.4.2 查看分支

指令
git branch -v

4.4.3 切换分支

指令
git checkout [分支名]

4.4.4 合并分支

第一步:切换到接受修改的分支上
git branch [分支名]
第二步:执行 merge 命令
git merge [有新内容分支名]

可能会出现合并冲突
解决方法
第一步:编辑文件冲突的地方,删除特殊符号。
尚硅谷——git学习总结
第二步:git add [文件名]
第三步:git commit -m “日志信息”
注意:此时 commit 一定不能带具体文件名

五、GitHub

5.1 给远程库起别名

git remote add [别名] [远程地址]

5.2 查看远程库别名

创建仓库后,查看当前所有远程地址别名

指令:
git remote -v
尚硅谷——git学习总结

5.3 推送分支

推送分支到远程库,之后可能需要登录GitHub账号

指令:
git push [别名] [分支名]
尚硅谷——git学习总结

5.4 克隆远程库

完整的把远程库下载到本地
创建 origin 远程地址别名
初始化本地库

指令:
git origin [远程地址]

5.5 团队成员邀请

第一步:在GitHub远程库上的 setting ==》Collaborators 复制邀请链接
尚硅谷——git学习总结
二步:团队中的其他成员,在自己的GitHub的地址栏粘贴这个邀请链接即可

5.6 拉取远程库

指令:
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]

指令:pull=fetch+merge
git pull [远程库地址别名] [远程分支名]

== 注意 ==

  • 如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉
    取。
  • 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。

5.7 跨团队合作

  • 找到需要编码的仓库,之后Fork仓库
  • 下载到本地修改,然后推送到远程

尚硅谷——git学习总结

  • 仓库管理员进行Pull Request
  • 尚硅谷——git学习总结
  • 审核代码
    尚硅谷——git学习总结
  • 合并代码

尚硅谷——git学习总结

相关文章: