Git 是什么?
Git 是一个开源的分布式版本控制系统。
Git 有什么特点?
分布式存储、可以离线工作 、全球版本号....
总结来说就是:高端⼤大⽓气上档次!
1 环境安装
1.1 Git安装
Git 下载地址: Git for Windows
1.2 TortoiseGit安装
TortoiseGit,Git 客户端,32/64 位及对应的语⾔言包下载地址: TortoiseGit
安装过程总结起来就是:下一步。
2 使用
场景1
Tips:
我们需要开发一个新项目,要从远程仓库将代码克隆到本地。
- 进入到 X:\XXXXX 目录
- 右击 => Git Clone...
- 如下图所示(红框中的内容就是项目的Git地址)
Tips
:根据项目大小, 时间会不一样. 克隆完成后, 如果没有错误, 会给出如下提示
场景2
Tips:
单人独立开发这个项目,噼里啪啦一顿操作,操作结束提交到本地仓库。
- 创建一个文件,如 test1.txt , 然后提交 (commit) 到本地版本库。
-
右击 => Git Commit => ”master” 。如下图所示:
- 填写提交备注 message (不填写是不允许提交的),勾选需要提交的文件,点击 commit,即可将本地代码提交到本地仓库。出现如下弹框,表示提交成功。
ps
:提交时,会发现上图中的 Status 有这几种值
Status | 含义 |
---|---|
Unknown | 新增的文件,也不在版本库。 |
Added | 新增的文件,在版本库。 |
Modified | 文件修改,在版本库 。 |
Missing | 文件被删除,在版本库。 |
场景3
Tips:
本来独立开发(暗爽),突然入职两位新同志(捣乱的来了),要和你共事这个项目。之后项目经理告诉你:小张!来,把代码提交到远程仓库,好让新同事在新的代码上更改。
将代码推送 (push) 到远端。
-
在文件内右键空白处,选择 Git Push,出现如下弹框:
- 点击ok,就可以了。
场景4
Tips:
来了个新同事分单任务好像还不错。 今天他的任务不重,还没下班就做完了,把代码提上去了(提交到远程仓库),还叮嘱我把代码更新一下。
-
右键空白处,选择 Git Pull,出现如下弹框:
- 点击ok,就可以更新至最新代码。
场景5
Tips:
上午项目经理分配了任务,大家又开始操作起来,然后这个同事又比我早做完了什么鬼不可能啊!
,他潇洒的提交代码回家了,哼哧哼哧写好了可以提交了,拉取代码pull
发现报错了肯定是他又写bug了
,应该是修改了同一文件产生了冲突。
轮到我们操作的时候了:
- 将代码提交(commit)到本地仓库
场景2
。 - pull代码
场景4
。 - pull下来之后发现冲突了。
- 解决冲突:噼里啪啦
记得去掉<<<<<<< HEAD ======= >>>>>>>xxxxxxx
。 - 将代码提交(commit)到本地仓库
场景2
。 - push到远端
场景3
。 - 修改结束潇洒离场。
场景6
Tips:
开发了一段时间,突然出现了一个重大BUG,领导要查明原因,就找到了我们两个小开发,并的追问这个“杰作”出自谁手,都不清楚也不承认。第⼆天来了之后发现,我的“小伙伴”被通告了,原来是经理查了提交代码的历史记录,查出是那位同事写的bug。我就说嘛,我怎么可能犯这种低级错误。
查看git提交记录
-
右键空白处 => TortoiseGit => show log,出现如下弹框:
- 通过日志,可以很直观的看到提交相关记录。比如提交人、提交时间、提交了哪些文件等等。这些信息便于以后进行文件对比。
场景7
Tips:
过了几天,公司又来了一位大数据工程师,来开发咱们系统的报表模块;咱们开发的项目需要新起分支来开发这部分需求。
创建分⽀支
-
新建一个分支,右键 =>TortoiseGit=>Create Branch。
- 右键,你会发现当前的分支为master 分支,你需要切换到data分支。
-
切换分支,右键 =>TortoiseGit=>Switch/Checkout。
-
然后将它push上去。
场景8
Tips:
项目开始进行并行开发流程,现在想上线一版,将两部分的功能在一 个项目里展示,那么就需要合并分支了。
在合并分支前,一定要确认 data 分支上的代码全部提交到本地版本库,或者别人开发完你pull到了本地。
-
右键 => TortoiseGit => Merge,选择被合并的分支。
场景9
Tips:
测试小伙伴们测试好这个流程感觉没啥问题,决定在今晚上线,咱们想要在版本库中让他们记住这一版的状态,又不不想通过log查询(毕竟log每天都更更新, log早就成千上万了)
给当前版本tag标签
git tag -a v1.0.0 -m '测试部署 1.0.0'
git push origin --tags
// 查看标签
git tag
// 查看指定版本号
git show v1.0.0
场景10
Tips:
项目来来回回上线了了几版,产品经理忽然发现后续版本的需求完全是画蛇添足,让我们回到第一版。
版本回退
-
查看提交日志, 确定回退的版本。
- 确定后就能回退到指定版本。
git命令三剑客
commit
pull
(有冲突解决冲突)
push