使用GIT图形界面进行版本管理相对于git命令要节省很多时间,同时界面的显示,可以直观的看到修改内容。这篇博客主要介绍在idea中使用git图形界面进行基本的git操作。包括更新代码,提交代码,PUSH到远程分支,本地切换分支,创建本地的新分支等基本操作。
1、 更新代码
ctrl+T,更新的是远程仓库的代码。(ps:默认更新选择的是branch default 和using stash,可以研究一下其他的选项)
2、提交代码
ctrl+K,如果本地代码没有改变,会提示,no changes detected(检测到没有改变)。如果本地代码有改变,则可以进行提交,对于git提交,首先是提交到本地仓库(commit),然后再提交(push)到远程仓库中,和svn比起来,相当于加上一层“缓存”,同时加上一层安全。如下图所示,还有一些其他的细节,一些按钮,可以探究一下哦。
①显示更改的文件
②提交的Message
③文件改变内容的对比
④提交前的操作:格式化等
⑤待补充
⑥各种常规操作:跳转到源文件,还原等
⑦提交操作,可以同时push到远程分支
3、两个分支的之间的切换
intellij的右下角有git相关的信息,如下图所示。LocalBranches为本地分支,RemoteBranches为远程分支
Git:kingboy代表的是当前分支,一般情况下我们的当前分之是master。Local Branches:表示本地仓库中的分支,本地的分支都是从Remote Branches中checkout而来的,选择想要下载的远程分支,右键选择check out as new local branch,然后选择ok,在Local Branches中就会增加一个本地分支。
但是分支之间怎么切换呢,提交代码的时候提交到的是哪个分支呢?
当前分支是什么默认提交到的就是哪个分支,所以想要修改哪个分支,就切换到本地的哪个分支,但是在分支切换的时候会出现一些问题,为了避免这些问题的出现,最好保证如下点。
3.1切换之前ctrl+k,确保没有未提交到本地仓库的文件
3.2切换之前先更新,把这个分支更新为最新的code。
然后选择Local Branches中的分支切换为当前分支。可能会出现如下问题,比如分支A_1和分支A_2 两个分支,当A_1中添加了一些文件,但是还没有commit的时候,这时候切换分支到A_2 , A_2中也会有A_1中未提交的文件。所以在切换分支前要提交当前操作分支的更改,否则切换到其他分支将仍能看到其他分支修改的文件。
个人理解为:在分支A上修改的文件,可以理解为在分支A之外的范围,此时切换到分支B,同样会将外部的修改的文件纳入分支B修改文件范围,认为是B修改的。
4、新建分支
点击git框的new Branch,然后输入自己分支的名称,按照本公司的分支命名规则哦。然后会自动切换到当前分支,然后再push到远程仓库中。
5、将远程分支dev的最新代码pull到kingboy
举例说明:本地分支KingBoy,远程开发分支为dev,想将别人合并至dev的最新代码pull到本地KingBoy分支上,
5.1.切换到本地分支dev
5.2ctrl+T 将本地dev更新为最新
5.2 切换到本地分支KingBoy,选择LocalBranch中的dev,选择merge,即可合并最新dev代码到kingboy,有点麻烦,应该有其他办法
5.3如果是想merge本地分支fixbug, 则选择fixbug,选择merge,即可将fixbug的更改合并到KingBoy上。
5.4同时还可以进行分支删除,对比,Rebase等操作
6、文件恢复
本地的文件修改后,想要恢复到本地git仓库上次的提交,可以右键选择git revert。
7、 对比不同分支或不同提交时间的文件
右键文件选择git,可以对比和其他分支的文件改变,对比历史变化等
8、颜色变化
默认未更改:灰色,修改后:蓝色,ADD之后:绿色,
9、如何删除某些已经提交到本地git仓库和远程仓库上的内容呢?
可以使用git命令:
9.1 git rm -r --cached File-or-FolderName (ps:要删除的文件或目录, 本地git库缓存的文件.)
9.2 git commit -m "Removed folder from repository" (ps:提交到本地)
9.3 git push origin master (ps: 把删除提交到远程分支上.)
在intellij中可以在执行完第一个步骤之后ctrl+K commit和push。
总体来说,对比命令行操作还是要节省很多时间,git还有很多功能,共同讨论学习。