一、简单介绍
简介:Git是一个开源的分布式版本控制系统,可以有效、高速地处理项目版本管理。
发展史:CSV -> SVN -> Git
优点:Git速度快、开源、完全分布式管理系统
相关名词介绍:GitHub、GitLib
GitHub:开源的软件托管平台,只支持git 作为唯一的版本库格式进行托管;使用的人相当多
GitLib:GitLab 是一个用于仓库管理系统的开源项目----正常公司都使用这个管理
二、Git安装
参考博客:https://www.cnblogs.com/ximiaomiao/p/7140456.html
三、Git工作原理
分区:
- 工作区 本地文件
- 暂存区 git add后文件暂时存放,这个时候是可以删除的
- Git仓库 git commit后, 文件从暂存区提交到本地仓库
- 远程仓库 git push后,文件由本地仓库,上传到远端仓库
四、Git教程
1.查看git命令-----git help
以上方式适用于大多数工具(如:Java,maven,ant,python等)
2.git工作流程
第一部分:获取远程代码
- 下载项目代码---git clone 仓库地址
第二部分:进入本地分支---避免冲突
b. 创建分支---git branch xxx
c. 进入分支---git checkout xxx
b&c=git checkout –b xxx
第三部分:修改本地代码,并查看修改内容
d. 修改本地文件 test.js
e. 查看修改内容 git diff 可加参数
f. 查看修改文件状态 git status 可加参数
第四部分:提交修改
g. 提交修改到暂存区 git add test.js (支持正则匹配)
h. 提交到repository git commit –m “xxx”
g&h=git commit –am “xxx”
第五部分:合并本地文件
i. 切换到主分支,通常是master git checkout master
j. 拉取远程仓库代码,更新本地master,git pull / git fetch 有冲突先处理冲突
第六部分:合并本地文件&推送
k. 合并本地分支代码到主分支 git merge 分支名称
l. 提交到远程仓库 git push
3.异常情况
场景一:正在开发新功能时,有一个bug需要修改,这个时候,我们要先保存当前修改的内容,再去解决bug,假设当前新功能分支feature
- 先保存当前代码,git stash save “remark”
- 切换到主分支 git checkout master
- 拉取主分支代码,修改bug,git checkout –b fix-bug
- 修改完bug,流程参考上面工作流程部分
- 切换到feature继续工作 git checkout feature;git stash apply
- 继续工作
场景二:提交代码时,遇到冲突,这个时候需要先解决冲突,然后,继续提交
- 如果确定自己修改不大, 直接删除自己分支,再pull
- 找到冲突文件,先修改冲突,再提交代码