1、 idea配置git:

settings/Version Control/Git–>Path to Git executable(git安装目录)->Test后下方显示版本号即成功–>Apply–>ok
在这里插入图片描述
有两个情景,看你属于哪一个,跟着操作就好。

情景一:还没有远程库,需要新建一个远程库对项目进行管理
2.1.1 项目添加到git本地仓库:

VCS/Create Git Repository,然后选择git本地仓库位置,我用的是默认的位置,当前项目的根目录,选择好后该目录会有一个.git的隐藏文件(相当于在哪个文件夹下git init)
在这里插入图片描述然后你会发现idea导航栏得到VCS变成了Git。而一些文件的文件名变成了红色,这是因为你安装了版本控制工具git,是提示你还没有添加到git本地仓库暂存区
在这里插入图片描述2.1.2 github新建一个储存库,复制下它的远程库地址,我们要把git本地库的内容保存到这里。
在这里插入图片描述
由于这个远程库是新建的,我们直接push推送到远程库即可
在这里插入图片描述
如果报错:OpenSSL SSL_read: Connection was reset, errno 10054,网络也没问题的话就去cmd执行ipconfig /flushdns,刷新 DNS 解析缓存。
在这里插入图片描述
2.1.3 不报错的后,页面会显示你将要push到远程库的内容,点击push
在这里插入图片描述
2.1.4 本地库项目成功推送到github远程库
在这里插入图片描述

情景二:需要把远程库的项目克隆到本地,方便对项目进行更新和管理

2.2.1 idea里设置GitHub账号,在这之后会在浏览器打开一个页面,在页面上登录你的github账号即可。
在这里插入图片描述
2.2.2 Clone克隆操作:克隆远程库到本地(clone包含效果:把远程库下载到本地、创建origin远程地址别名、初始化本地库)
在这里插入图片描述
2.2.3 然后会让你选择git本地仓库位置,我用的是默认的位置,当前项目的根目录
在这里插入图片描述
补充:由于github是国外的网址,国内访问会有点慢,可通过修改本地域名解析文件,加快访问的响应时间

位置:C:\Windows\System32\drivers\etc的hosts文件
在这里插入图片描述
你直接打开是没有修改权限的,也无法选择以管理员打开,我办法是将hosts拷贝一份到桌面并以管理员身份打开,修改里面的内容后,再粘贴到etc文件下,把之前的hosts文件替换掉,由于我之前用管理员身份打开过,替换掉之后再修改它就有权限了。

加上的内容:

199.232.69.194 github.global.ssl.fastly.net
140.82.113.4 github.com

3、 add添加操作:

现在来把代码添加到暂存区,这一步相当于git add 【文件名】,添加后这些文件名会变成绿色。对于新增的文件必须add添加到暂存区才能commit提交到本地库。

我对暂存区的理解:当修改量比较小时,add存到暂存区就行了,不必全都commit,这样可以保证提交历史的清晰,也方便查看和回退到指定的commit版本。另外说一句,当你误操作把文件删除或修改时,在暂存区的文件是可以查看和恢复的。
在这里插入图片描述

4、commit提交操作:

提交到git本地仓库,这一步相当于git commit -m “日志信息” 【文件名】,提交完成后会有日志输出。对于修改操作你可以不add就commit,注意每一次提交都应该是一个完整的功能开发,要保证commit的干净。
在这里插入图片描述
在这里插入图片描述
之后写代码时,左边是绿色就是说明这个地方对于本地库来说是新增的内容,蓝色是修改过的内容,可以点击蓝色条看之前的代码
在这里插入图片描述
对commit历史版本的一些右键操作
在这里插入图片描述
查看commit的全部版本,虽然在idea的的git视图中可以看到历史版本,但也只有历史版本,如果你进行过回退版本的操作,那你就看不到回退前的版本了,所以先再回到回退前或查看回退前版本的话,要获取到commit的全部版本和对应的HEAD指针。我用的是命令行进行查看的,就是先git log、git log --pretty=oneline或者git reflog查看全部的commit历史,拿到版本索引,就可以执行git show 【版本索引】看到和当前版本有区别的地方了,或者git reset进行到版本的前进回退操作。
在这里插入图片描述
add的撤销、commit的撤销、去到某个版本和版本的回退,索引和HEAD指针可以在git reflog里看到,Reset Type选择重置的类型,To Commit写版本索引或HEAD、HEAD+指定符号,soft、mixed和haed的具体区别可以去看我之前写的一篇博客
在这里插入图片描述

5、Branch分支操作:

分支就是从主线分离出来进行另外的操作,而又不影响主线,主线又可以继续干它的事。比如A和B要分别开发一个功能,A可以创建一个bev分支进行他的文件commit操作,B可以创建一个bev2分支进行他的文件commit操作,他们的互不影响对方的代码和进度。在第一次commit的时候已经默认创建好了一个master分支了
在这里插入图片描述
这里我新建了一个名叫dev的分支,创建好后HEAD指针将会默认设置成指向它,master和dev分支和HEAD指针的关系:
在这里插入图片描述
分支的合并:A的dev分支上的功能完成了,可以交差了,master合并dev分支后,master上就能使用dev写好的功能了。要用master合并dev分支,所以要把当前分支切换到master,然后在dev上右键进行合并操作
在这里插入图片描述
合并后,master分支将进行一次commit,并且HEAD指针指向它
在这里插入图片描述
分支合并冲突,当dev分支代码修改的位置和master代码修改的位置一样时,将产生合并冲突。冲突也很好解决,协商好将冲突的部分改成想要的代码,再进行commit就行了
在这里插入图片描述点击Marge后可以看到产生冲突的代码和远程库的代码的区别。这时不要点Apply下去了,不然他会把你master的代码改成最后一次commit的代码的。看到冲突的代码后把窗口关掉,协商好用哪段代码就好。
在这里插入图片描述

6、pull拉取操作:

push之前最好先pull,至于问什么后面有举例,所以我把它排到了push的前面。

pull作用:拉取远程库最新的代码(pull前要先commit,因为pull会拉取远程库最新的代码,所以不先commit提交到本地的git仓库的话,会把你写的代码覆盖掉!没commit就pull的话,idea工具也会报错提示你的,这一点还是很人性化的)
在这里插入图片描述拉取前,本地库的代码和远程库代码的对比
在这里插入图片描述
拉取后本地的代码将发生改变
在这里插入图片描述
如果pull时报错:OpenSSL SSL_read: Connection was reset, errno 10054,就在命令行里执行git config --global http.sslVerify "false"就行
在这里插入图片描述由于是多人开发,可能在你pull拉取之前,有人把他的代码hash推送到了远程库,远程库最新的代码改的位置和你代码改的位置一致时,进行pull将产生代码冲突,这时再协商好使用谁的代码就行。
如果push前不pull的话,很可能会把别人push到远程库的代码覆盖掉!但idea中如果和远程库代码有冲突,它也不会让你继续push并提示(e.g., ‘git pull …’) before pushing again,叫你先pull再push。
在这里插入图片描述
点击push即可,成功后远程库的代码将发生改变
在这里插入图片描述

具体的流程图:

在这里插入图片描述

大致流程:

需要新建一个远程库对项目进行管理:

1、在github中新建一个项目,并复制该远程储存库的地址
2、 项目添加到git本地仓库
3、把本地库push到远程库,url填远程库复制下来的地址
4、把本地新增或修改的代码add到git暂存区
5、功能完成后,commit到git本地库(第一次commit后就会有一个默认的master分支)
6、使用branch分支(创建分支、切换分支、合并分支)方便多人开发
7、pull拉取远程库最新的代码,查看是否本地代码有冲突
8、push推送到远程库,更新远程库代码
9、第4到第8步循环重复,直至项目开发完成

需要把远程库的项目克隆到本地,方便对项目进行更新和管理:

1、idea设置github账号信息
2、选择要clone的远程库,clone包含操作:远程库下载到本地、创建origin远程地址别名、初始化本地库
3、项目添加到git本地仓库
4、与上个情景一样,第4到第8步循环重复,直至项目开发完成

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐