Git在IDEA(2023版)中的操作(保姆级教程)_idea绑定git
话接上回,不知道可以看Gitee保姆级教学-CSDN博客这篇博客
1.IDEA关联Git
1.1关联Git
File > Settings() 关联过程是自动的
此处关联是Idea可以自动完成的

1.2创建项目&仓库
-
新建项目后,将项目目录创建为git仓库
-
注意: 要在建仓库前,设置忽略文件 \".gitignore\"
作用:被忽略的文件会被版本记录忽略,版本中不包含它们。
范围:不需要和其他开发共享的文件,具体见下图。
# 所有class,后缀的文件*.class# 所有jar后缀的文件*.jar*.iml*.war# .idea文件夹.idea# out文件夹outtarget
创建仓库前,先添加忽略文件

将项目目录初始化为一个仓库


1.3提交-commit
创建好仓库后,做第一次提交。
选择提交菜单

选择提交文件,定义提交信息

之后会有些友好提示,可以忽略,点击“commit”即可

1.4创建分支-branch
新建开发分支

新建分支

查看当前分支

在其他分支修改并push到远程


1.5上传到到远程仓库(push)
-
请首先参照第8章(详情见文章开头),创建一个远程仓库。
-
要求是裸库,且建议库名和项目名同名。
选择push菜单

定义远程仓库地址

执行,push操作

1.6克隆到本地仓库(clone)
如果有建好的远程仓库,比如公司内已经在用的仓库,或者github,码云上的一些公开仓库,
可以将远程仓库的项目复制到本地使用
点击克隆菜单

输入如远程仓库地址

打开项目

打开项目,选项

1.7更新本地项目
如果远程仓库有更新,则你的本地项目也需要一起更新。
选择pull菜单

执行 pull操作

更新日志显示

1.8冲突解决
合并分支时,如果出现冲突,则需要解决冲突。
冲突出现,弹窗中可以选择如下

也可以直接修改冲突文件,然后commit即可
1.9撤销修改
1.9.1未commit时
还没有add文件时,可以直接删除要删除或修改的文件,因为此时还没有经过仓库管理
如果已经add,但是还没有commit,此时只是在暂存区


1.9.2commit时
如果已经提交,先显示历史记录


选中要退回到的提交点,右键拷贝版本id

然后关闭窗口,重新操作git--> reset HEAD


ps: reset type 与版本回退章节中命令意思一致,看到这了,点个赞吧
1.10stash
用于将当前分支未提交的修改(工作区的修改和暂存区的修改)先暂时缓存起来。
适用于正在一个分支进行开发,但是需要切换到另一个分支进行bug处理,但是又不想提交当前分支代码的情况。
比如在B分支进行了修改,现在需要切换到A分支。
1)在B分支上执行stash,B分支的代码会恢复到修改前状态


2)切换到A分支,修改代码并提交
3)切回到B分支,恢复之前的代码,继续开发


2.多人协同开发
2.1项目管理员( 项目经理 )
1> 由管理员负责创建一个远程库,初始的库中什么也没有,为裸库。库的名称建议和项目同名
2> 管理员会在idea中创建一个初始项目,其中包含.gitignore文件。在项目根目录下 建立本地库。并建立 dev分支。
3> 管理员将本地库上传到远程库
4> 将其他开发人员拉入远程库的 [开发成员列表中]() ,使得其他开发人员可以访问该远程库。
流程如下:
点击添加成员

被邀请成员接受

查看已添加的开发成员

5> master分支设置为 protected分支(),只有管理员有权限将代码合并到其中。dev分支设置为 [常规分支]所有开发人员 都可以在其中合并代码
进入分支设置

设置保护分支,让master分支不能被随更改

2.2开发人员
-
1初始化:在idea中clone 远程库,获得项目。会建立本地库
-
2后续的开发中,都要在dev分支上进行。开发完一个功能并测试通过后就commit 提交到本地的dev分支中,然后 上传(push)到远程dev分支中。
-
3需要更新项目内容时,通过 pull 从远程仓库拉取内容。
-
4注意:多人协同时,每次在 push 到远程库前,都先做一次pull,一来是把远程最新内容合并到本地,二来是核实本地内容是否和远程内容有冲突。
-
5后续的开发,会接到一个个的功能任务,往复操作 2>、3>、4> 而已。
3经典BUG问题
3.1 密码问题
在使用https协议做push时,如果曾经使用过码云,但密码有过改动,此时会报错

解决方案: 控制面板 》 凭据管理器 》 删除对应凭证,再次使用时会提示重新输入密码。
删除之前的码云凭证,然后重新push即可

3.2推送时邮箱问题
推送时报错,提示private email address

解决方案,gitee设置邮箱为公开的

随缘更新。。。。
下课


