Git

前言

话语

希望你有一定的阅读文档能力,
并且使用过svn和git经历
这篇文章主要是提升你git的使用技巧,
知道与svn的区别

编写人员

隐无为

1.git 介绍和安装

1.1.git安装

https://git-scm.com/

1.2.小乌龟git安装

https://git-scm.com/

1.3.Idea关联git软件

图片1.png

2.Git 操作

红色:创建之后没有add,没提交
绿色:add之后是文件绿色的,没有提交(commit);
蓝色:原本有一个文件,改动过后没有提交(commit)是蓝色的,提交之后,变成正常颜色。
白色:正常色,提交了
灰色:删除色

2.1.提交commit

创建a.txt 测试文件 图片2.png

正常来说你需要add,再然后commit,当然是可以直接commit Commit 等同 add+提交本地库

图片3.png

填写提交的注释

图片4.png

2.2.推送push

图片5.png

2.3.更新pull

图片6.png

2.4.注意细节

add     是提交到临时存储区
Commit  是提交本地库
Push    是提交远程库
Pull     是获取远程库代码,放到工作区
Conflict  是本地库与远程库冲突(不是工作区) 

一定要学会看idea 的 提交日志记录查看插件

图片7.png

图片8.png

3.Git解决冲突

冲突产生的原因是有多人同时操作了同一个局域代码

解决冲突,是团队配合,经常出现的。

分析两种人的说法:

有些人认为git 在提交代码之前,先pull(更新)代码,解决冲突,再提交
类似svn的操作

也有人认为可以直接先提交commit到本地库,再pull,解决冲突,然后push

3.1.先pull的情况

当你pull更新代码,就会发现这个错误

图片9.png

报这个错误的原因:
远程库的更新的过来的代码有修改,
而你的代码也有修改,可能有冲突,
希望你先提交,再pull

说白了就是冲突亮牌警告 (警告是不会把代码更新下来的)

3.2.先commit的情况

提交到本地库,然后再更新pull,就会发生冲突

图片10.png

Accept  yours :用你的代码
Accept  theirs :用他们的(远程库的)

Megre :选择性合并两边代码。(一般选择这个)


解决冲突,合并代码

图片11.png

左边:是你的代码
中间:就是你最终合并想要的代码
右边:  远程库的代码

3.3.结论

所以,git和svn提交方式不一样, Git 先提交到本地库,然后pull更新的代码 最后解决冲突

4.git进阶

4.1.git 找回删除的文件

如果其他人删除a.txt,并提交,push推送远程库
那我怎么找回被他人删除的文件(可能同事不小心删你的文件)

图片12.png

Git reset hard 就会还原当时的版本,把删除的代码备份下,再回到
最新的版本,把备份的代码拷到最新版就行了

图片13.png

图片14.png

4.2.Git 回退版本降级

有时候不小心多提交了一些文件或本来只开发自己的功能模块,
把同事的模块提交到了远程库了,想回退怎么办?

Git revert 就可以回退版本 

注意:回退版本是点击当前版本回退上一个版本

图片15.png

图片16.png

图片17.png

Last Updated: 6/13/2019, 7:10:41 PM