实战了git,记录一下具体步骤,免得忘记
csdn图片不显示,直接看有道云笔记我做的分享吧
目录如下
1准备
下载git: https://git-scm.com/download/win
一路安装next即可
Idea中配置git
找到file-settingsVersion Controlgit
如下图配置git的安装路径下的git.exe,配置完成点击test,弹出successful即配置成功
2.创建仓库
Git仓库可以是gitHub,码云或者私有的服务器,这里以码云为例,首先注册码云,完成后创建仓库,仓库名字要设置为项目名称。
可选择私有或公开,这里选择私有。
创建成功会出现下面红色框的地址,即为仓库地址,复制它。
3.idea中创建项目推送到远程仓库
场景:公司要新开发一个项目,老王作为项目经理,新建了一个项目名为git, 于是他在Idea中创建一个名称和仓库名称一致的项目,这里为git.
选择刚刚创建项目的目录git,这个步骤是将git目录下的文件加入到git的工作空间中去。
点击Idea右上角红框内箭头,将当前工程commit到git本地仓库中去,可以选择要提交的文件,不需要提交的不要勾选,此处我只提交.java文件和pom.xml文件。注意填上提交的备注。
提交至本地仓库成功后,下一步就是push到远程仓库
Remote即是远程仓库地址
点击,填上码云上的仓库地址
点击ok后,第一次会让你输入码云的账号和密码,输入即可。
如果输入错误,会非常麻烦,请按以下方法处理:https://blog.csdn.net/IAGod/article/details/80782305,删除git的账号密码后,再回到以上gitpush步骤重新推送
点击push,idea右下角出现
项目已经推送成功了。查看码云上,确实推送成功。
4.从远程仓库拉取项目到本地
场景:老王招进来新员工小王,小王要从远程仓库拉取老王创建的项目,然后开始写代码开发。
小王也需要按照以上的第一步安装git,然后
然后项目经理老王会告诉他项目的git仓库地址,输入以下框内克隆项目即可
5.提交代码至远程仓库
场景:然后小王开始开发,写了一天代码,新加了一个TestGit2这个文件,下班时他要将新开发的工程推送至远程仓库。
小王需要先将克隆下来的项目加入置于git的管理下
然后再commit到本地仓库
再push到远程仓库
从以上看出,要推送至远程仓库,其实步骤是不变的
- 第一次推送需要将项目置于git的管理下,在项目下生成.git文件。
Idea中操作就是vcs
- 将项目添加至本地仓库中,执行commit命令,在idea中右上角有图标
- Push到远程仓库
在idea中右键项目,然后
6.更新本地仓库代码和远程仓库保持一致
场景:小王昨天晚上下班提交了代码,老王今天早上来公司他要更新自己的本地项目代码和线上最新的保持一致。
Idea中右上角,执行update
可以看到小王写的TestGit2.java也出现了
我们早上上班开发前,一般都是先更新自己的本地代码;
我们推送至远程仓库前,也是先把线上代码更新到本地再推送至远程。
7.提交代码冲突处理
场景:老王今天在TestGit.java文件中开始写代码,小王今天也在TestGit.java文件中开始写代码,写完代码后老王先提交了。
老王写的代码如下
小王写的代码如下:
老王先提交,线上变成了
接着小王要开始提交了,提交之前他先把线上代码更新一下到本地。因为线上的代码和本地的代码有冲突,所以出现了以下情况
点击TestGit2.java将其合并后如图
左边为小王代码,中间为合并后预览,右边为老王代码,合并后点击apply
合并后先提交到本地仓库,再push到远程仓库,即可解决冲突
8.新建分支开发
场景:公司要开发一个新功能,于是项目经理老王新建了一个分支
点击idea右下角,
老王在当前dev1分支上新开发TestGit3.java,将其commit到本地仓库
再切换大到本地master主干上
发现是没有TestGit3.java文件的
8.将本地分支提交到远程仓库
老王已经将TestGit3.java开发好了,要将其提交到远程仓库.先切换到dev分支
再commit,push到远程仓库
发现远程仓库多出了dev1分支
9.从仓库拉取远程分支
场景:老王已经把分支dev1推送至远程仓库,小王要拉取dev1到本地在本地开发。可以看到小王的idea如下,已经显示了在Remote Branches远程分支下有两个分支,分别是master和dev1.
将分支拉取到本地
小王可以看到在拉取的dev1分支上老王建立的文件TestGit3.java出现了
10.合并分支
场景:小王在dev1分支上开发完成后准备和主干master合并上线
要在主干上合并,就要先切换到主干master,如图,主干是没有TestGit3.java的,
选择本地dev1合并到当前
合并成功后本地master TestGit3.java出现
然后可以推送到远程,远程master也将合并。