转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/53214933

Git安装

下载Git有两种方法

  • 直接下载安装包,Git下载地址
  • 用homebrew指令下载,不过首先需要安装homebrew 
    • 在终端执行后面指令安装,homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    • 完成后,使用以后指令安装Git,brew install git

安装好Git后,配置用户名和用户邮箱,以后每次与Git的交互都会使用该信息。

git config --global user.name "your_name"
git config --global user.email "your_email@gmail.com"
  • 1
  • 2

配置信息可以更改,以后想要更改使用上面指令就可以。同时可以使用git config --list指令查看Git的配置信息。

Git默认是大小写不敏感的,也就是说,将一个文件名某个字母做了大小写转换的修改Git是忽略这个改动的,导致在同步代码时候会出现错误,所以建议大小把Git设置成大小写敏感。

git config core.ignorecase false
  • 1

生成密钥

Git关联远端仓库时候需要提供公钥,本地保存私钥,每次与远端仓库交互时候,远端仓库会用公钥来验证交互者身份。使用以下指令生成密钥。

ssh-keygen -t rsa -C "your_email@youremail.com"

生成密钥后,在本地的/Users/当前电脑用户/.ssh目录下会生成两个文件id_rsaid_rsa.pubid_rsa文件保存的是私钥,保存于本地,id_rsa.pub文件保存的是公钥,需要将里面内容上传到远端仓库。

获取公钥字符串具体操作如下图。


图-1 获取公钥
  • 输入cd指令,进入当前用户目录
  • 输入ls -a指令,查看当前用户目录下所有文件,包括隐藏文件
  • 输入cd .ssh指令,进入.ssh目录
  • 输入ls指令,查看.ssh目录下的文件
  • 输入cat id_rsa.pub指令,查看id_rsa.pub文件中内容

远端仓库添加密钥

以GitHub为例子,向远端仓库添加公钥,上面已经获取到了公钥,只需要将公钥添加到远端仓库就可以了。


图-1 添加公钥

在个人设置页面,左边选中SSH and GPG keys,在右边添加公钥,title是key的名称,可以随便取,可更改,key是上面我们获取到的公钥,填写完毕后点击add SSH key按钮,这样远端就添加到了密钥。

本地关联远端仓库

  • 在本地文件夹下面执行git init指令,初始化文件夹,作为本地的一个仓库。
  • 执行git remote add origin 仓库的ssh链接
  • 执行git pull指令,将远端代码拉取到本地

执行完毕后,远端仓库代码已经同步到了本地。

常用Git指令

  • 初始化配置

    git config —global user.name “XXX"
    git config --global user.email “XXXX"
    • 1
    • 2
  • 设置大小写敏感

    git config core.ignorecase false
    • 1
  • 生成密钥

    ssh-keygen -t rsa -C “your_email”
    • 1
  • 将远端代码clone到本地目录

    git clone <远端git> <本地目录>
    • 1
  • 提交修改

    git add <文件> // 将有修改的文件添加到本地缓存中 git add . 是添加所有修改
    git commit -m "本次修改信息" // 提交本次修改,一般是在git add之后操作
    git reset . // 撤销add
    git rm --cached . // 撤销add
    • 1
    • 2
    • 3
    • 4
  • 切换分支

    git checkout <branch_name>
    • 1
  • 以当前分支为蓝本新建分支并切换到新分支

    git checkout -b <branch_name>
    • 1
  • 当前分支合并其他分支

    git merge <branch_name>
    • 1
  • 远端新建分支,其实就是将本地分支推送至远端

    git push origin <local_branch_name>:<remote_branch_name>
    • 1
  • 删除远端分支,其实就是推送了一个空的分支到远端覆盖了原来的远端分支

    git push origin :<remote_branch_name>
    • 1
  • 从远端拉取分支,并建立对应关系

    git checkout -b <local_branch_name> origin/<remote_branch_name>
    // 或者
    git branch —track <local_branch_name> origin/<remote_branch_name>
    • 1
    • 2
    • 3
  • 本地已经存在的分支和远端分支建立对应关系

    git branch —set-upstream <local_branch_name> origin/<remote_branch_name>
    • 1
  • 添加远端库

    git remote add <远端库代称> <远端库地址>
    git clone <远端库地址> <目录> //不需要git init
    • 1
    • 2
  • 回滚到某一个提交版本

    git reset --hard/soft <commit_id> // 回滚到某一个版本
    git reset --hard/soft HEAD~<num> // 回滚num个提交
    git revert <merge_commit_id> -m number // 撤销某一次merge
    • 1
    • 2
    • 3
  • 强制远端覆盖本地

    git fetch --all
    git reset --hard origin/<remote_branch_name>
    • 1
    • 2
  • 提交日志查看方式

    git log -p 每一次提交具体差异
    git log —stat 显示文件修改差异,没显示具体修改
    git log —graph 树形状提交记录,可查看分支合并信息
    • 1
    • 2
    • 3
  • git pull —rebase有冲突后,解决冲突,使用 git add .然后使用git rebase --continue

  • 切换到某个分支,将其他分支的某次提交应用到该分支

    git checkout <branch_name>
    git cherry-pick <commit id>
    • 1
    • 2
  • 前者表示把到之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;后者表示把到之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。

    git cherry-pick <start-commit-id>..<end-commit-id>
    git cherry-pick <start-commit-id>^..<end-commit-id>
    • 1
    • 2
  • tag

    • 新建tag

      git tag <tag_name> //轻量标签
      git tag -a <tag_name> -m "tag_msg" // 附注标签
      git tag -a <tag_name> <commint_id> // 给某次提交添加标签
      • 1
      • 2
      • 3
    • 删除tag

      git tag -d <tag_name>
      • 1
    • 查看tag

      git tag // 查看所有tag
      git show <tag_name> // 查看某条tag
      • 1
      • 2
    • 提交到远端

      git push origin <tag_name> // 将某个tag提交到远端
      git push origin –tags // 将所有tag提交到远端
      • 1
      • 2
  • branch相关指令

    git branch -d <branch_name> // 删除某个分支
    git branch -D <branch_name> // 强制删除某个分支
    git branch -avv // 查看本地分支与远端分支关系,并且显示分支最新一次提交信息
    git remote show origin // 查看远端分支间关系

Mac上安装Git的更多相关文章

  1. 【mac上安装&配置&使用git】

    转自:https://www.jianshu.com/p/7edb6b838a2e 目录 安装git 创建ssh key.配置git 提交本地项目到GitHub 一.安装Git MAC 上安装Git主 ...

  2. mac下安装git,并将本地的项目上传到github

    mac下安装git 安装过程: 1.下载Git installer http://git-scm.com/downloads 2.下载之后打开,双击.pkg安装 3.打开终端,使用git --vers ...

  3. 关于如何在mac系统上安装Git并在码市上建立项目

    对Git一窍不通,为了在mac系统上安装Git,查了很多资料,走了很多弯路,一切搞定后发现其实很简单. 1.在https://brew.sh上按要求安装Homebrew. 2.在电脑终端键入brew ...

  4. Git学习系列之Windows上安装Git详细步骤(图文详解)

    前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...

  5. Eclipse上安装GIT插件EGit及使用

    一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...

  6. 在Mac上安装IntelliJ IDEA

    这篇文章旨在介绍如何在Mac系统上安装IntelliJ IDEA,至于IntelliJ IDEA的介绍和使用方法,大家另行查阅,本篇的文章不再详细阐述. 简短解说,IntelliJ IDEA是可以用来 ...

  7. Eclipse上安装GIT插件EGit

    一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...

  8. Mac上安装brew

    用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装. 在mac上也有类似的命令 brew brew用法可以访问官网地址  http ...

  9. 【转】Eclipse上安装GIT插件EGit及使用

    http://yufenfei.iteye.com/blog/1750124 一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32 ...

随机推荐

  1. 坑爹的myeclipse 的tomcat 重部署 redeploy !

    启动 tomcat 出现: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bea ...

  2. Spark面对OOM问题的解决方法及优化总结 (转载)

    转载地址: http://blog.csdn.net/yhb315279058/article/details/51035631     Spark中的OOM问题不外乎以下两种情况 map执行中内存溢 ...

  3. yum centos 修改镜像源

    参考:https://blog.csdn.net/sj349781478/article/details/78736873 3.清除yum缓存 yum clean all yum makecache ...

  4. 白鹭引擎 - 事件机制 ( Event, addEventListener, dispatchEvent )

    1, 自定义事件, MyEvent class MyEvent extends egret.Event { /** * 一般会定义一个 DATA 字段作为事件 * 绑定事件监听器时, 一般用 类.DA ...

  5. poi excel 设置边框字体行高行宽

     final HSSFSheet sheet = wb.createSheet(sheetName + "_" + n);   System.out.println("s ...

  6. Mapperreduce的wordCount原理

    wordcount原理: 1.mapper(Object key,Object value ,Context contex)阶段 2.从数据源读取一行数据传递给mapper函数的value 3.处理数 ...

  7. 01.GOF设计模式_概述

    0.Abstract Fcatory 提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类. 1. Adapter 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原 ...

  8. UNITY2018开启deepprofiling

    ADB方式调试游戏步骤 前提: 1,手机开启 [开发者模式][USB调试] 2,数据线连接手机和电脑 3,安装adb(注意adb版本不对可能导致adb deveices找不到设备,那就换个adb版本) ...

  9. zstack使用笔记之端口转发

    根据官方教程,使用端口转发,可以把公网流量转发到内网 实验环境是这样的 公网网段:172.17.3.x 内网网段:192.168.1.x 首先创建云路由网络,这个就不说了,根据教程大家都可以创建出来, ...

  10. Delphi判断是否有全屏程序

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...