Mac下IntelliJ的Git、GitHub配置及使用
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、检查Git
检查本地是否安装Git
git --version
检查本地是否存在SSH公钥和密钥
ls ~/.ssh
如果存在id_rsa 和id_rsa.pub 说明已经存在。否则添加密钥到GitHub。
3、创建SSH Key
打开终端,执行命令,并一直敲回车键。
ssh-keygen -t rsa -b 4096 -C “你注册GitHub的邮箱”
4、添加密钥到GitHub
进入GitHub,点击头像,选择settings。
然后选择SSH and GPG keys。
然后New SSH key。
Title中输入邮箱。
key中输入刚才本地创建SSH key生成的id_rsa.pub
文件的内容,复制方法为:
pbcopy < ~/.ssh/id_rsa.pub //执行此命令拷贝文件下的内容
最后粘贴到key项。点击继续。
5、测试是否关联好本地和GitHub
ssh -T git@github.com
遇到选择选yes,
看到:
Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access.
说明关联成功。
6、IntelliJ配置Git
本地安装好git,并配置合理的SSH key,IntelliJ IDEA->Performance->Version Controll->GitHub,Host输入github.com,然后输入GitHub的用户名和密码,点击Test测试一下:
IntelliJ IDEA->Performance->Version Control->git,将自己安装git的可执行文件路径填入Path to Git executable,点击 Test测试一下:
7、远程仓库配置
7.1、创建本地仓库
7.1、将项目提交到本地的Git
7.3、关于远程仓库的配置
git remote add origin git@github.com:kosamino/springmvc.git #(此处为你自己远程仓库的key)
git push -u origin master #(解释:该脚本将本地的master 推到刚才设置的github远程仓库中)
如果执行完成2条脚本,没有任何提示,也没任何错误,恭喜你成功了!
8、IntelliJ远程Push代码
git remote rm origin
打开它把里面的[remote "origin"]那一行删掉 重启gitshell再重新配置。
9、GitHub Desktop提交代码
首先把当前本地库添加到GitHub Desktop:
然后commit代码:
最后publish branch:
Mac下IntelliJ的Git、GitHub配置及使用的更多相关文章
- Mac下Intellij IDEA Console中文是?
Mac下Intellij IDEA Console中文是?,解决办法是在运行时的VM参数配置也加入: -Dfile.encoding=UTF-8
- Mac下Intellij IDea发布Web项目详解一
Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...
- Mac下Intellij IDea发布Java Web项目详解五 开始测试
测试前准备工作目录 Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intell ...
- Mac下Android studio 之NDK配置教程(一)
Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...
- Mac下intellij idea环境的项目的新建、配色、快捷键的配置
注:本文所使用的intellij idea是14.1.2的版本号. 一.项目的新建(以新建Java项目为例) 选中当中的"create new project". 接下来你会看到下 ...
- Mac下Virtual Box Host-Only网络配置
Mac下的虚拟机其实有很多,Parallels.VMware Fusion.Virtual Box都不错,Parallels是目前试过感觉最好的,Fusion装64位系统驱动支持似乎不完善,而且混合模 ...
- MAC下用homebrew安装及配置apache、php和mysql
我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...
- mac下Android开发环境的配置
近似一天的时间,终于把Android环境配置好了. 总结:主要问题在于android的网站是国外,下载东西的时候需要vpn才可以.所以会出现各种各样的问题. 环境:Android Studio + S ...
- [转]Mac下cocos2dx-3.2+Xcode环境配置和项目创建
原文:http://blog.csdn.net/u012200908/article/details/38070885 这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C+ ...
随机推荐
- Error: Apache shutdown unexpectedly --解决
原因1:端口占用,百度可解决 原因2: 配置的启动目录不存在~~~ 解决 修改默认目录:
- js函数的创建
1.js 函数的创建有几种方式: 1.1 直接声明 1.2 创建匿名函数,然后赋值 1.3 声明函数,然后赋值给变量 1.4 使用1.3 得到的变量再赋值给变量 1.5 使用函数对象创建函数 < ...
- MySQL查询优化(转)
在分析性能欠佳的查询时,应考虑: 1) 应用程序是否正获取超过需要的数据,即访问了过多的行或列. 2) Mysql服务器是否分析了超过需要的行. 如果发现访问的数据行数很大,而生成的结果中数据行很少, ...
- Bash 翻译
Bash参考手册 目录 1简介 1.1什么是Bash? 1.2什么是shell? 2定义 3基本外壳功能 3.1 Shell语法 3.1.1外壳操作 3.1.2报价 3.1.2.1逃逸角色 3.1.2 ...
- Haskell语言学习笔记(82)Extensible effects
安装 extensible-effects $ cabal install extensible-effects Installed extensible-effects-3.0.0.0 Extens ...
- search() 方法解析
search()方法支持正则表达式的String对象的方法. 好,我们直接来贴代码,看效果,从实践理解透析方法的知识点和实际运用. var str="Visit W3School!" ...
- Structs复习 包含外部xml和默认Actiion
包含外部xml 可以用 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PU ...
- mysql 去除字符串中前后空格
update table set field = replace(replace(replace(field,char(9),''),char(10),''),char(13),'');
- Mysql字段类型与合理选择
字段类型 数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许 ...
- linux 设备驱动分类
1. 字符设备 :在I/O传输过程中以字符为单位. 2. 块设备: 在传输过程中以块为单位,相关概念有 缓冲,I/O调度,请求队列.主要体现出与字符设备在操作硬件的接口实现方式上是不一样的. 3. 网 ...