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、创建本地仓库

  在IDEA中创建任意一个项目,在IDEA的菜单栏中选择 VCS (倒数第三项),选择Import into Version Control (引入到版本控制) -->Create Git Repository... -->选择一个存放的路径(本文为:/Volumes/work/git-repository/springmvc -> OK
  这样就创建了一个本地仓库, 以后代码的本地提交(Commit)的内容都会更新到这个选择的路径中。

  7.1、将项目提交到本地的Git

  选中项目(或者文件) 右键选择Git--->Add (此时没任何反应)---->commit(提交)  注意:一定要先add 再提交,此时项目文件就添加到本地仓库了。

  7.3、关于远程仓库的配置

  7.3.1、在github上创建一个仓库 :
    登陆你的github -->点击你的用户名 -->选择Repositories--> 点击绿色-->输入你的仓库名称。(此时远程仓库创建完成)
  7.3.2、通过Git shell 配置远程仓库:
     进入到项目目录:
  然后复制刚才创建的远程仓库的HTTPS/SSH KEY (此处使用的SSH),在Git shell 中键入如下脚本:

git remote add origin git@github.com:kosamino/springmvc.git  #(此处为你自己远程仓库的key)
git push -u origin master   #(解释:该脚本将本地的master 推到刚才设置的github远程仓库中)

  如果执行完成2条脚本,没有任何提示,也没任何错误,恭喜你成功了!

8、IntelliJ远程Push代码

  回到IDEA,选择项目 -->Git -->Repository --Push  即可将本地的文件推送到远程仓库中,然后刷新你的github仓库你就会看到你提交的本地内容了,同时你在idea中也能看到你的操作信息。
  注意:在执行 通过Gitshell配置远程仓库的时候可能会出现一些意外:
  1.  提示这个仓库已经存在(fatal: remote origin already exists) ,如果是这样 就不需要使用add + 地址的形式了 ,请修改为:

git remote rm origin
  2.提示不能移除配置信息错误(.error: Could not remove config section 'remote.origin')
  解决方案: 在/User/用户下面找到.gitconfig文件 (本文路径为:/User/用户名/.gitconfig)

              

  打开它把里面的[remote "origin"]那一行删掉   重启gitshell再重新配置。

9、GitHub Desktop提交代码

  首先把当前本地库添加到GitHub Desktop:

  然后commit代码:

  最后publish branch:

Mac下IntelliJ的Git、GitHub配置及使用的更多相关文章

  1. Mac下Intellij IDEA Console中文是?

    Mac下Intellij IDEA Console中文是?,解决办法是在运行时的VM参数配置也加入: -Dfile.encoding=UTF-8

  2. Mac下Intellij IDea发布Web项目详解一

    Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...

  3. Mac下Intellij IDea发布Java Web项目详解五 开始测试

    测试前准备工作目录 Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intell ...

  4. Mac下Android studio 之NDK配置教程(一)

    Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...

  5. Mac下intellij idea环境的项目的新建、配色、快捷键的配置

    注:本文所使用的intellij idea是14.1.2的版本号. 一.项目的新建(以新建Java项目为例) 选中当中的"create new project". 接下来你会看到下 ...

  6. Mac下Virtual Box Host-Only网络配置

    Mac下的虚拟机其实有很多,Parallels.VMware Fusion.Virtual Box都不错,Parallels是目前试过感觉最好的,Fusion装64位系统驱动支持似乎不完善,而且混合模 ...

  7. MAC下用homebrew安装及配置apache、php和mysql

    我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...

  8. mac下Android开发环境的配置

    近似一天的时间,终于把Android环境配置好了. 总结:主要问题在于android的网站是国外,下载东西的时候需要vpn才可以.所以会出现各种各样的问题. 环境:Android Studio + S ...

  9. [转]Mac下cocos2dx-3.2+Xcode环境配置和项目创建

    原文:http://blog.csdn.net/u012200908/article/details/38070885 这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C+ ...

随机推荐

  1. 关于 SAXParseException Content is not allowed in Prolog (前言中不允许有内容)

    解析 XML 文件的时候,如 Mybatis 的 Mapper 文件,有时会出现 org.xml.sax.SAXParseException 前言中不允许有内容 的异常,英文就是 Content is ...

  2. debian下redis2.8.17安装过程

    下载redis源码包,我下载的是redis2.8.17 解压缩该源码包 tar zxf redis-2.8.17.tar.gz 进入解压缩后的目录 cd redis-2.8.17/ 添加redis用户 ...

  3. openwrt中防暴力破解shell的脚本

    原文:http://www.right.com.cn/forum/thread-124429-1-1.html 原理:1. snort做入侵检测是很好,但是太大太复杂,我们需要轻量化的操作.当对方进行 ...

  4. Hibernate 再接触 组件映射

    将另外一个类嵌入到另外一个类 从而合并生成一张表 Husband.java package com.bjsxt.hibernate; import javax.persistence.Embedded ...

  5. sql server连接字符串与tcp/ip开启

    连接字符串1:Data Source=localhost,1433;User ID=sa;Password=123;Initial Catalog=test;Min Pool Size=1;Max P ...

  6. C# 图像处理: 获取当前活动窗口句柄,获取窗口大小及位置

    需调用API函数 需在开头引入命名空间 using System.Runtime.InteropServices; 获取当前窗口句柄:GetForegroundWindow() [DllImport( ...

  7. centos 卸载和安装软件

    rpm -qa 列出所有已安装软件包 rpm -e packagename  删除软件包 rpm -e --nodeps packagename  强制删除软件和依赖包 rpm -q 包名     查 ...

  8. c++遍历某个文件夹中所有文件

    //filePath:存放所有文件名的txt,文件名之间用回车 //fileList:文件夹中所有文件名存放的位置 //算法:用到ifstream //用途:读取txt中所有文件名,将文件名存入fil ...

  9. webuploader.js

    PHP  多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用: 使用WebUploader还可以批量上传文件.支持缩略图等等众多参数选项 ...

  10. 以root用户运行jenkins中shell命令 重要

    以centOS系统为例,记录下修改Jenkins以root用户运行的方法. 修改Jenkins配置文件 # 打开配置文件vim /etc/sysconfig/jenkins# 修改$JENKINS_U ...