一、基础
1.定位Git程序
2.配置Git忽略文件
2.1.Eclipse 忽略文件
2.2.gitignore插件
1.在idea中安装gitignore插件
点击File->Settings ,选择plugs,在右边搜索:.ignore,点击Install,安装完成后就可以愉快的使用了,不过在此之前得重启IDEA
2.现在项目中生成模板
在项目上右键->New ->.ignore file ->.gitignore file(Git)
在项目所在目录下生成文件:.gitignore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# .gitignore
# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
或者选择自动追加到忽略文件中
3.添加的.gitignore可能不起作用
4、添加的.gitignore可能不起作用
- 要先进入项目包所在的文件夹
- git rm -r -cached .
- git add .
- git commit -m “update .gitignore”
1
2
3
4
5
git rm -r --cached .
git add .
#注意: "update .gitignore" Linux是单引号,windows是双引号
git commit -m "update .gitignore"
git push -u origin master
2.3.IDEA 忽略文件
1.IDEA特定文件
2.Maven 工程的 target 目录
问题 1:为什么要忽略他们? 答: 与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之 间的差异。
问题 2:怎么忽略? 1) 创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore) 这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用 户家目录下 (C:\Users\Administrator)
git.ignore 文件模版内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
2) 在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中 C:\Users\Administrator)
1
2
3
4
5
6
7
[user]
name = hollysys
email = hollysys@126.com
[core]
excludesfile = C:/Users/Administrator/git.ignore
# 注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
3.IDEA集成GitLab
3.1.安装GitLab插件
在File => Settings => Plugins 里面 搜索 gitlab
安装后重启
3.2.设置GitLab插件
Token:AVdN7mbs_4DzXFg6vSoH
3.3.推送本地代码到 GitLab 远程库
自定义远程连接
选择 gitlab 远程连接,进行 push。
SSH方式不需要输入密码
http方式:首次向连接 gitlab,需要登录帐号和密码。
代码 Push 成功。
3.4.克隆远程仓库代码到本地
或
3.5.拉取远程仓库代码
4.IDEA集成GitHub
4.1.设置 GitHub 账号
4.2.分享工程到 GitHub
来到 GitHub 中发现已经帮我们创建好了 git-idea 的远程仓库。
4.3.推送本地库到远程库
1.GitHub上创建项目git-idea
2.推送本地代码
注意:
push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说, 要想 push 成功,一定要保证本地库的版本要比远程库的版本高! 因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!
4.4.拉取远程库到本地库
注意: pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。
4.5.克隆远程库到本地
或
二、实践
1.创建Spring Boot项目
1.1.IDEA中创建项目
项目名称:git-idea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class HelloController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
String version = "V1";
System.out.println("v1---commit!!!");
return "-------" + version + "-------";
}
}
1
2
3
# 访问地址:
http://localhost:8888/hello
1.2.GitLab中创建项目
项目名称:git-idea
1
2
3
4
5
# 地址
git@172.17.243.237:hs-group/git-idea.git
http://172.17.243.237:18080/hs-group/git-idea.git
zhangsan/zhangshan123
2.初始化本地仓库
选择要创建 Git 本地仓库的工程。
3.添加到暂存区
右键点击项目选择 Git -> Add 将项目添加到暂存区。
4.提交到本地仓库
5.切换版本
5.1.修改两次版本
5.2.切换版本
在 IDEA 的左下角,点击 Version Control,然后点击 Log 查看版本
右键选择要切换的版本,然后在菜单里点击 Checkout Revision。
6.创建分支
选择 Git, 在 Repository 里面,点击 Branches 按钮。
在弹出的 Git Branches 框里, 点击 New Branch 按钮。
填写分支名称,创建 hot-fix 分支。
然后再 IDEA 的右下角看到 hot-fix,说明分支创建成功,并且当前已经切换成 hot-fix 分支
7.分支切换
在 IDEA 窗口的右下角,切换到 master 分支
然后在 IDEA 窗口的右下角看到了 master,说明 master 分支切换成功。
8.合并分支
在 IDEA 窗口的右下角,将 hot-fix 分支合并到当前 master 分支
如果代码没有冲突, 分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库。
9.解决冲突
如图所示,如果 master 分支和 hot-fix 分支都修改了代码,在合并分支的时候就会发生冲突。
参考说明
手动合并完代码以后,点击右下角的 Apply 按钮。
代码冲突解决,自动提交本地库。
10.Git标签
10.1.创建标签
10.2.远程推送标签
由于不是在当前最新版本打入的标签,push时需要选择push tags (all),不然不能push
GitLab查看
10.3.检出标签
注意:此时的软件版本不让修改
10.4.在指定标签继续开发
10.5.删除标签
在idea中由于没有找到删除标签的功能,所以只能采用命令行的方式进行。
- 进入工程目录–>右键,Git Bash Here进入命令窗口
- 删除本地标签命令 git tag -d v1.1.0
- 删除远程标签命令 git push origin :refs/tags/v1.1.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Administrator@DESKTOP-AV12NNP MINGW64 /d/dev-tct/Devops/dev/code/git-idea (master)
$ git tag
v1.0.0
v1.1.0
# 删除本地标签
Administrator@DESKTOP-AV12NNP MINGW64 /d/dev-tct/Devops/dev/code/git-idea (master)
$ git tag -d v1.1.0
Deleted tag 'v1.1.0' (was b413108)
Administrator@DESKTOP-AV12NNP MINGW64 /d/dev-tct/Devops/dev/code/git-idea (master)
$ git tag
v1.0.0
# 删除远程标签
Administrator@DESKTOP-AV12NNP MINGW64 /d/dev-tct/Devops/dev/code/git-idea (master)
$ git push origin :refs/tags/v1.1.0
To 182.92.210.65:hs-group/git-idea.git
- [deleted] v1.1.0