Intellij 中的git操作 转!
http://blog.csdn.net/lovesummerforever/article/details/50032937
Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git。intellij有很好的git操作界面,可以拉取代码,拉取分支详情,提交代码到本地仓库,提交代码到远程仓库,可以merge本地分支,merge远程分支,可以自由的切换分支,可以解决merge带来的冲突问题。总之可以完成基本的git操作,详情如下。
1、 更新代码
ctrl+T,更新的是远程仓库的代码。(ps:默认更新选择的是branch default 和using stash,可以研究一下其他的选项哦)
2、提交代码
ctrl+K,如果本地代码没有改变,会提示,no changes detected(检测到没有改变)。如果本地代码有改变,则可以进行提交,对于git提交,首先是提交到本地仓库(commit),然后再提交(push)到远程仓库中,和svn比起来,相当于加上一层“缓存”,同时加上一层安全。如下图所示,还有一些其他的细节,一些按钮,可以探究一下哦。
3、两个分支的之间的切换
intellij的右下角有git相关的信息,如下图所示。
Git:xhf_buanch_test代表的是当前分支,一般情况下我们的当前分之是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_1分支切换到A_2分支上,需要merge,我们可以选择smart merge,当smart merge没有解决问题的时候,我们可以手动merge,merge result的结果,就是把这些文件放到你要切换到的分支上,所以最安全的方式是选择Merge这个按钮。
accept Yours是接受A_1分支上的改变,Accept Theirs是接受A_2分支的改变。
4、新建分支
点击git框的new Branch,然后输入自己分支的名称,按照本公司的分支命名规则哦。然后会自动切换到当前分支,然后再push到远程仓库中。
5、同步远程分支
可能有人新建了远程分支,但是在本地上的Remote Branches中并没有远程分支,所以需要右键选择git fetch。
6、merge远程分支。
A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master分支上的改动移到分支fb_xhf上,可以这样merge。
6.1 转到master分支上,然后更新master最新更新。
6.2 再转到fb_xhf上,然后在Local Branches中选择master分支,选择merge,这样就把本地的master merge到 本地仓库的fb_xhf上,然后再选择git push ,这样就把远程master merge到 fb_xhf上, 并会提示: Merged master to fb_xhf。
7、文件恢复
本地的文件修改后,想要恢复到本地git仓库上次的提交,可以右键选择git revert。
8、 cherry pick
就像摘樱桃一样,在changes列表中,可以看到其他分支提交的动态,如果想要把某次的变化放到当前分支上,可以右键选择cherry pick,这就是摘樱桃。
9、如果不小心不应该merge的时候merge了,怎样退回到上一次状态?
在changes中选中最新的提交,然后右键选择reset current branch to here。。然后弹框如下
选择Hard会返回上一状态,其他的选项,可以看看哦。
10、颜色变化
git 在未add到git管理的时候是褐色,add后的颜色是绿色,提交之后的颜色是正常色,有修改之后的颜色是蓝色。
11、如何删除某些已经提交到本地git仓库和远程仓库上的内容呢?
可以使用git命令:
在intellij中可以在执行完第一个步骤之后ctrl+K commit和push。
12、intellij去除非代码提交
修改 。gitignore文件,并提交到git上。如下修改
/target
/.idea
*.iml
*.ipr
*.iws
.idea
*/*.log
*/target/
*.DS_Store
*.classpath
*.settings
*.project
扩展:git http://my.oschina.NET/pengfeix/blog/191897?p=1#OSC_h3_3 http://www.51itong.net/git-commit-amend-commit-8551.html
ps:如果测试的话,可以在github上测试,这样就省去了本地安装git服务端。
总结:
git的博大精深还需要本公主多次研究和实践,还有很多功能木有用到。总结一下基本的使用和坑,算是抛砖引玉了。
Intellij 中的git操作 转!的更多相关文章
- 在Emacs中使用git操作
在Emacs中使用git操作 1.安装 magit 插件 2.安装后开始使用 3.使用方法: . 使用 M-x:magit-status 打开当前仓库查看基本信息 .使用 ? 键查看magit命令绑定 ...
- GIT → 10:基于IntelliJ IDEA的Git 操作
GIT → 10:基于IntelliJ IDEA的Git 操作
- IDEA中的Git操作,看这一篇就够了!
大家在使用Git时,都会选择一种Git客户端,在IDEA中内置了这种客户端,可以让你不需要使用Git命令就可以方便地进行操作,本文将讲述IDEA中的一些常用Git操作. 环境准备 使用前需要安装一个远 ...
- intellij中使用git插件将项目上传到码云
参考帖子: git上传本地Intellij idea 项目到码云的git仓库中(评论中有彩蛋,一定要看) IntelliJ-IDEA和Git.GitHub.Gitlab的使用 使用idea上传项目到码 ...
- 配置SSM公钥及创建远程仓库和在IEDA中集成git操作
3.将.ssh下的id_rsa.pub公钥copy到gitee工作台中 4.创建个人仓库 5.设置开源许可证:开源是否可以随意转载,开源但是不能商业使用,不能转载,- 限制! 6.克隆到本地! IDE ...
- webstorm中使用git管理服务器上的代码——入门级
一.首先要确保电脑已经成功安装好git了.(记住git的安装位置) 二.这里需要给webstorm配置一下:依次点击:file –> Settings –> Version Control ...
- git工作中的常用操作
上班开始,打开电脑,git pull:拉取git上最新的代码: 编辑代码,准备提交时,git stash:将自己编辑的代码暂存起来,防止git pull时与库中的代码起冲突,否则自己的代码就白敲了: ...
- Git知识总览(六) Git分支中的远程操作实践
前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...
- ssh keygen命令实现免密码通信(git库获取操作权限:开发人员添加到git库中,获取操作权限)
先看两个机器实现免密码登陆通讯: 假设 A 为客户机器,B为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa 做法: 1.登录A机器 2.s ...
随机推荐
- sudo: unable to resolve host XXX 解决方法
执行sudo命令时候,总是提示sudo: unable to resolve host xxx 解决方法: 法1. 在/etc/hosts/添加hosts映射, 如127.0.0.1 xxx 法2. ...
- angular.js的post数据方式
公司的项目前端部分现在改用angular,一切从头学起,今天记录一下关于数据请求的问题,由于get的请求方式比较简单,与post也类似,所以就单独讲讲post方式. 文档上post数据的写法有好几种, ...
- Python Tips and Traps(一)
1.如果想得到一个列表的index和内容,可以通过enumerate快速实现 drinks = ['coffee','tea', 'milk', 'water'] for index, drink i ...
- Dev表格导出工具类 z
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace xSof ...
- 【ASP.NET】从服务器端注册客户端脚本
一.在Asp.net 服务端处理脚本,一般都用 ClientScriptManager ,即web窗体服务端的this.ClientScript.该对象比较常用的方法: 1.RegisterArray ...
- Javascript 备忘
1遍历所有属性 var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=tx ...
- jQuery滚动条插件 – jquery.slimscroll.js
jquery.slimscroll.js插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动.jquery.slimscroll.js不仅可以定义高度.宽度,还可以定义位置.滚动条大小 ...
- 花20分钟写的-大白话讲解如何给github上项目贡献代码
原文地址:http://site.douban.com/196781/widget/notes/12161495/note/269163206/ 本文献给对git很迷茫的新手,注意是新手,但至少会点基 ...
- SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-003-@Conditional根据条件生成bean及处理profile
一.用@Conditional根据条件决定是否要注入bean 1. package com.habuma.restfun; public class MagicBean { } 2. package ...
- Android用户界面 UI组件--AdapterView及其子类(二) AdapterViewAnimator及其子类
AdapterViewAnimator:当在视图间切换时会显示动画. android:animateFirstView 定义ViewAnimation首次显示时是否对当前视图应用动画. android ...