git idea 修改提交信息

您所在的位置:网站首页 Git修改提交信息idea git idea 修改提交信息

git idea 修改提交信息

2024-06-07 14:51| 来源: 网络整理| 查看: 265

3814159c56be77332e3cebeb4a85298a.png

不知不觉,svn已经退居历史,git闪亮登场。现在的项目多人协同开发,首选git,开发工具idea用的比较多,所以,如何在idea上操作git成为了一个需要学会的小技能。

如果你被git的本地分支、远程分支、合并、解决冲突等操作弄得不知所措。时间允许的话,先看一遍git官网的中文手册吧,内容由浅入深,从原理到命令操作,都有详细的介绍。

下面来说明idea上git的常见操作。

首先假设你已经安装好了git以及idea,接下来在idea上做一下配置,即配置git.exe的路径。

5318d43a41eb7bba0b79cd8b400036b3.png

idea不过是做了可视化界面,但所有操作其实内部还是会委托给git.exe去执行。所以,如果你是高手,直接用命令行操作git会更加畅快。

首先假设我们的开发流程是这样的:

1、开发人员a从远端git仓库的master分支克隆一份到本地,本地的分支名称为branch-a,随后开发a提交修改到本地;同样的开发人员b从远端git仓库克隆一份到本地,本地的分支名称为branch-b,随后开发b提交修改到本地;

2、每次推送到远程分支的时候,最好先拉取远端master分支,将其最新的更改合并到本地分支,然后再推送本地分支到自己的远端分支。这样的操作是为了减少有代码冲突时不能合并分支的情况。冲突在拉取master合并到本地分支的时候去解决。所以开发a在将自己的代码推送到远端分支的时候,先拉取master分支,由于这个时候没有人将自己的分支合并到master,所以不会有任何冲突和问题。现在开发a放心的把自己的本地分支branch-a推送到远端分支branch-a。

3、开发a发起了合并代码的请求:将远端分支branch-a合并到master分支。

4、开发组长收到合并请求,代码审核通过之后,并通过对比没有发现冲突和问题,于是将远端的branch-a合并到了master分支。

5、这个时候开发b也想要推送修改到远端分支,所以他先拉取master分支,然后发现代码冲突了,因为开发a和开发b都对同一个文件的同一行代码进行了不同的修改。开发b解决了冲突,将修改推送到远端分支branch-b,并发起合并请求。

6、开发组长审核之后,合并远端分支branch-b到master分支。

7、继续各自修改代码,提交,拉取,推送,发起合并请求。

下面的演示是根据上面的开发流程来做的:

1、首先为了方便,在github上先建立一个仓库:

933a6d1fef3edec065742aacbea65365.png

注意的是,该仓库需要首先放入一些文件,然后才会有master分支。然后其余人员才可以克隆并操作。

2、开发a克隆仓库:

47169488a847aa8a067d59d418fd5cbc.png d56515270dc8db6363a047abd93fa653.png

3、下拉下来的本地分支名称默认是master,将其修改为branch-a。(idea右下角)

bed374126ee12ec21ec5b3fa1f69b745.png

这样做的目的是,便于本地分支切换,否则分不清哪个分支对应远端的分支了。

87672f7ffda517350e4b2668c46ca85e.png

现在我们看到了,本地分支只有branch-a,当前本地分支是branch-a,远端分支有origin/master分支。

4、为了演示方便,我在本地新建分支branch-b:

2d841a71f294433d0718a81f39f808f5.png

现在本地有两个分支了:

4f7fbbbb9d3db7ed6ef678ee0a1f779e.png

开发a在分支branch-a上开发,开发b在分支branch-b开发,互相不影响。

5、接下来切换到branch-a,开发a进行开发:

09bab869d4062426326a7251aa88d818.png

点击branch-a > checkout。

这个操作的意思是:从本地的.git文件中检出branch-a,工作目录的文件就会变成branch-a的文件。

6、在branch-a中我们添加文件a.txt:

c4c805362b27bd6c0f7248dca6ea5c98.png b067e595ee2df23459f90300043b84e4.png

文件第一行是:心情很不错。

7、接着开发a就把修改提交到本地git了:

0aa451845cb610624d69cd68d809ed78.png b544874702009e7b9a93aab871d181a2.png

写上提交信息,点击commit就提交到本地仓库了。

8、在推送到远端分支的时候,先拉取远端master分支的代码。在拉取的时候,会自动合并到本地当前分支上去。

eeae528cdfe56a539a8dfbdf3483dc38.png 83db5a360cd5b80e25aace2697024507.png

下面这块区域说明,没什么更改和冲突的文件,可以放心推送:

259d905fc77375e3f5d537bb1290d5da.png 64a83ea053b265a5a6480c42ecdea2f3.png

这里本地是branch-a,我们想要推送到远端的分支也为branch-a,点击修改分支名称,推送:

139c7c750d487828017b6fe8f97a710e.png

9、现在开发a推送到了远端分支branch-a。开发a需要发起合并请求:

16a9c80083da214c1de9c345e78dfa67.png 6e0768ccd94a34f635c288080d20e4dd.png

10、开发组长进行代码审查和合并:

c2749b2a8e895fe15c2874be28b39ac3.png

11、现在开发b也是一样的进行文件添加,不过在a.txt中第一行添加的是:心情很丧

现在开发b将修改提交到本地git。在推送之前他拉取远端master,发现了冲突:

99f8bac63aeea6dfd970022dc0a36747.png

点击merge:

9430c8b4da81aff7f1900936b89ed5da.png

处理完冲突,点击apply。也可以去文件夹下手动解决冲突。

我解决完是这样的:

a3230eb8f410ff8e0bd772fc1fd579c4.png

12、将解决完冲突的文件提交到本地git。然后推送到远端分支branch-b。最后合并分支。由于步骤类似,我就不详细说明了。

13、开发a、开发b现在拉取远端master,看到的是一样的内容了。

14、继续后续开发。

git操作本身不难,但是要对git的基本概念有一个了解才行。如果觉得idea的操作有点难以理解,可以试试sourceTree这个可视化工具。它可以看到所有本地和远程分支,随意切换,拉取,删除分支。可以看到每次提交的修改点,历史记录的每个人的提交都可以去查看并比较。使用这个软件基本上是无脑操作,但缺点就是安装起来需要一点耐心。各位看官仁者见仁,智者见智吧。把工作完成是第一位的,工具能够达到目的就行了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3