idea git操作
*************
添加git账号
github 账号:preference ==> version control ==> github
gitee 账号:需先安装gitee插件
*************
项目添加版本控制
方法一:terminal终端窗口 ==> 项目根目录执行git init .
huli@hudeMacBook-Pro springboot hello2 % git init .
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /Users/huli/IdeaProjects/springboot hello2/.git/
方法二:菜单栏VCS ==> Enable version control integration...
*************
添加远程仓库
方法一:terminal终端窗口 ==> git remote命令
# 添加远程仓库
huli@hudeMacBook-Pro springboot hello2 % git remote add origin https://gitee.com/lihu12344/springboot-test.git
# 查看远程仓库
huli@hudeMacBook-Pro springboot hello2 % git remote -v
origin https://gitee.com/lihu12344/springboot-test.git (fetch)
origin https://gitee.com/lihu12344/springboot-test.git (push)
# 删除远程仓库
huli@hudeMacBook-Pro springboot hello2 % git remote remove origin
huli@hudeMacBook-Pro springboot hello2 % git remote -v
huli@hudeMacBook-Pro springboot hello2 %
方法二:菜单栏git ==> manage remotes...
*************
分支基本操作
查看本地分支、远程分支、新建分支、切换分支
分支拉取、提交、推送
查看本地分支、远程在本地缓存的分支提交记录
删除分支
# dev在master基础上创建,现在使用命令行删除dev分支
huli@hudeMacBook-Pro springboot hello2 % git branch -v
* dev f780413 springboot test
master f780413 springboot test
# 删除dev分支,需要切换到其他分支,不能在dev分支上删除dev分支
huli@hudeMacBook-Pro springboot hello2 % git branch -d dev
error: Cannot delete branch 'dev' checked out at '/Users/huli/IdeaProjects/springboot hello2'
huli@hudeMacBook-Pro springboot hello2 % git branch -D dev
error: Cannot delete branch 'dev' checked out at '/Users/huli/IdeaProjects/springboot hello2'
# 删除dev本地分支,切换到其他分支(master)
# 如果分支只在本地提交,没有提交到远程分支或者合并到本地其他分支,使用 -d无法删除
huli@hudeMacBook-Pro springboot hello2 % git branch -d dev
error: The branch 'dev' is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev'.
# 可使用 -D 强制删除
huli@hudeMacBook-Pro springboot hello2 % git branch -D dev
Deleted branch dev (was 0baba92).
# 删除dev远程分支
huli@hudeMacBook-Pro springboot hello2 % git branch -vv
* dev 99ba364 [origin/dev] dev
master f780413 [origin/master] springboot test
huli@hudeMacBook-Pro springboot hello2 % git push origin --delete dev
remote: Powered by GITEE.COM [GNK-6.2]
To https://gitee.com/lihu12344/springboot-test.git
- [deleted] dev
huli@hudeMacBook-Pro springboot hello2 % git branch -vv
* dev 99ba364 [origin/dev: gone] dev
master f780413 [origin/master] springboot test
*************
分支回退
本地分支回退:本地执行操作回退到指定版本
远程分支回退:terminal窗口执行命令 ==> git push -f origin master
huli@hudeMacBook-Pro springboot hello2 % git push -f origin master
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To https://gitee.com/lihu12344/springboot-test.git
+ 7c1e3e2...f780413 master -> master (forced update)
huli@hudeMacBook-Pro springboot hello2 %
查看分支回退状况:本地分支、远程分支均实现回退
*************
分支合并
在master基础上新建分支
dev分支修改代码,并提交
master分支
dev合并到master分支:本地切换到master分支,git ==> merge
合并后的master本地分支
master远程分支:合并后需将master本地分支推送到master远程分支
*************
分支合并冲突
分支合并冲突原因、idea解决方案
# 分支合并冲突原因
dev分支在master分支基础上创建;
dev分支修改文件Hello2Controller;
master分支也修改了文件Hello2Controller;
将dev分支合并到master分支时会出现冲突
# idea 解决方案
分支合并时,如果出现冲突,idea会检测到分支冲突,
并提供页面供冲突文件手动合并,冲突文件合并完成后可提交
idea合并冲突解决页面
合并后的master分支