1、Git简介

Git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,所以在断网的情况下任然可以提交代码,切换分支。Git又使用了SHA-1哈希算法确保了在文件传输时变得不完整、磁盘损坏导致数据丢失时能立即察觉到。

Git的基本工作流程:

  • git clone:将远程的Master分支代码克隆到本地仓库
  • git checkout:切出分支出来开发
  • git add:将文件加入库跟踪区
  • git commit:将库跟踪区改变的代码提交到本地代码库中
  • git push: 将本地仓库中的代码提交到远程仓库

git 分支

  • 主分支
  • master分支:存放随时可供生产环境中的部署的代码
  • develop分支:存放当前最新开发成果的分支,当代码足够稳定时可以合并到master分支上去。
  • 辅助分支
  • feature分支:开发新功能使用,最终合并到develop分支或抛弃掉
  • release分支:做小的缺陷修正、准备发布版本所需的各项说明信息
  • hotfix分支:代码的紧急修复工作

2、Git在IntelliJ IDEA下的使用

2.1、IntelliJ IDEA下配置Git

本地安装好git,并配置合理的SSH key,具体看这里 IntelliJ IDEA->Performance->Version Control->git 将自己安装git的可执行文件路径填入Path to Git executable,点击 Test测试一下

2.2、git clone

VCS->Git->Clone

输入你的远程仓库地址,点击测试一下地址是否正确

2.3、git checkout

在IntelliJ IDEA右下角有一个git的分支管理,点击。选择自己需要的分支,checkout出来

checkout出来,会在底端显示当前的分支。其中1显示的为本地仓库中的版本,2为远程仓库中的版本

点击IDE的右上角的向下箭头的VCS,将分支的变更同步到本地

2.4、git diff

在local changes 中选中要比对的文件,右键选择show diff 便可以查看文件的变动。或者选择Revert放弃文件的改动

![image](https://upload-images.jianshu.io/upload_images/2184951-97e4f740243782ba?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2.5、git log

在Version Control下选择Log,可以查看提交历史

![image](https://upload-images.jianshu.io/upload_images/2184951-a2d44de480c995cc?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2.6、git commit

默认导入的工程已经git add加入库跟踪区了

随便修改一下pom.xml文件,其修改的文件会显示在Version Control中的local changes下

点击IDE右上角的向上箭头的VCS, git commit, 写上日志提交到本地代码库中

2.7、git push

VCS->Git->Push 将本地代码提交到远程仓库

2.8、在Idea命令行使用git

mac下同时按alt+F12,进入idea命令行

常见的命令:

  • clone项目 git clone xxxxxx
  • 检查项目状态 git status
  • 切换分支并和远程的分支关联 git checkout -b xxx -t origin/xxx
  • 拉最新更新 git pull
  • 提交更新 git commit -am "备注"
  • 合并分支到当前分支,首先切换到需要被合并的分支 git checkout xxx, 再合并 git merge yyyy
  • 提交 git push

在 IntelliJ IDEA 中这样使用 Git,效率提升2倍以上的更多相关文章

  1. 干货:用好这13款VSCode插件,工作效率提升10倍

    文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 大家好我是lemon, 马上进入我们今天的主题吧. 又 ...

  2. IntelliJ IDEA 中集成使用git(2015年06月10日)

    前提:需要有一个git账号,https://github.com/ 1.首先需要下载一个Github,https://windows.github.com 安装之后的界面是酱紫的,非常简洁美观 2.在 ...

  3. ImageApparate(幻影)镜像加速服务让镜像分发效率提升 5-10 倍

    作者介绍 李昂,腾讯高级开发工程师,主要关注容器存储和镜像存储相关领域,目前主要负责腾讯容器镜像服务和镜像存储加速系统的研发和设计工作. 李志宇,腾讯云后台开发工程师.负责腾讯云 TKE 集群节点和运 ...

  4. 查询效率提升10倍!3种优化方案,帮你解决MySQL深分页问题

    开发经常遇到分页查询的需求,但是当翻页过多的时候,就会产生深分页,导致查询效率急剧下降. 有没有什么办法,能解决深分页的问题呢? 本文总结了三种优化方案,查询效率直接提升10倍,一起学习一下. 1. ...

  5. 在intellij idea 中怎么不用git 解除关联

    展开全部 file ->settings->version control 选中这一栏,右边有个 点红色减号,就解除了,然后去项目目录下删除.git这个文件夹,你可以不删除,为了以后继续关 ...

  6. 这些小众软件让你的效率提升N倍!(必备,收藏)

    大部分的我们,电脑买来之后,软件越装越多,电脑越来越卡,导致工作的效率也是越来越低. 同时还可能长期处于软件安装完又卸载的无限恶性循环中.提高工作效率是我们利用电脑办公的一大优势,安装好的软件更是可以 ...

  7. 最香远程开发解决方案!手把手教你配置VS Code远程开发工具,工作效率提升N倍

    文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天和大家分享远程开发工具,分享一下我平常是如何用 V ...

  8. Python通过Openpyxl包汇总表格,效率提升100倍

    最近找了份小兼职,干的全是些无聊的工作,比如说给word调整一下排版啦.把从多方回收来的Excel汇总啦,这些极其催眠又耗时的事,怎么能接受手动去做呢!!(疯了嘛,谁知道以后还有多少类似的表格要汇总啊 ...

  9. CAD绘图效率低?教你4个CAD绘图技巧,绘图效率提升十倍

    CAD绘图一直是一个谜一样的存在,说它简单吧,很多人都无法完全精通,说它难吧,很多人也都自学成才了. 如何学好CAD绘图是个难题,但是老话说的好,只要思想不滑坡,办法总比困难多,掌握以下这些CAD绘图 ...

随机推荐

  1. dubbo-go 的开发、设计与功能介绍

    dubbo-go 的前世今生 dubbo-go 是目前 Dubbo 多语言生态最火热的项目.dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初版.当时很 ...

  2. ceph-状态监测-脚本

    http://www.tang-lei.com/2018/06/05/ceph-%E7%8A%B6%E6%80%81%E7%9B%91%E6%B5%8B-%E8%84%9A%E6%9C%AC/ 为了能 ...

  3. 【CF1238E】Keyboard Purchase(状压DP,贡献)

    题意:有m种小写字符,给定一个长为n的序列,定义编辑距离为序列中相邻两个字母位置差的绝对值之和,其中字母位置是一个1到m的排列 安排一种方案,求编辑距离最小 n<=1e5,m<=20 思路 ...

  4. java使用开源类库Tesseract实现图片识别

    Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选. Tess4J则是Tesseract在Java PC上的应用 Tesseract的OCR引擎最先由HP实验 ...

  5. [BZOJ3379] Turning in Homework

    中文题目:提交作业 原文题目:Turning in Homework 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3379 哎,今天竟然没有 ...

  6. 使用Gradle打出带签名的apk包

    step1:配置build.gradle文件 step1:切换到项目所在目录,用build命令打包 首先 gradle clean 命令清理一下当前项目 E:\AndroidStudioProject ...

  7. delphi xe2 panel 无法 遮盖 label 的 解决方案。

    百度  没有找到此答案.  问群,也没答案. 根据群友的提示. 找到的解决的办法. 很简单. ParentBackground 设置为 false.

  8. 《单词的减法》state1~state17(第三遍学习记录)

    2016.05.24 state 8 curse/curve dedication 多用于奉献和献身 disastrous disruptive distract state 9 domestic/d ...

  9. GET和POST的数据传递到底有何区别?

    1. GET和POST与数据如何传递没有关系 GET和POST是由HTTP协议定义的.在HTTP协议中,Method和Data(URL, Body, Header)是正交的两个概念,也就是说,使用哪个 ...

  10. 【读书笔记】:MIT线性代数(5):Four fundamental subspaces

    At the beginning, the difference between rank and dimension: rank is a property for matrix, while di ...