一、Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。最大的特点也是优点在于提供分布式的代码管理

1、分支代码只有一份!

使用过svn的童鞋想必都知道,当我们要开发一个新功能或者增加一个新版本或者修改一个复杂bug的时候,通常需要copy整份代码到本地一个目录,然后添加到svn服务器上进行代码管理。

而Git不同,Git可以创建许多branches,每个branch都是独立的,当我们需要修改代码的时候,commit也只是对本地仓库的修改。如果使用SourceTree,我们会发现在工具栏的Git Flow功能,已经很好的为此做了准备。

2、log在本地!

svn的log都是存储在服务器上的,当我们要查阅修改记录的时候,必须要能够连接上远程服务器,并且具有权限。而Git不同,Git对于本地仓库的修改记录都是在本地上的,方便查阅。

3、合并代码更加方便!

因为Git支持本地无限Branches,当我们个体在本地创建多个branches用于不同目的的时候(修改,新增,探索),合并一份代码显然要比svn合并一堆工程copy更加简单。

4、更加安全!

Git的commit命令不同于SVN,commit只是对本地仓库代码的一次更新。当需要提交到master远程仓库,或者其他远程分支仓库的时候,需要使用push功能。虽然增加了一个过程,却可以防止随意修改导致后期合并出现大问题的风险。 在用户工作的时候,从本地仓库修改文件(modified),写入git的暂存区域(staged),将暂存区域的内容提交到本地仓库(committed)。这一系列的工作都是在用户本机的本地仓库上进行的。当你将本地的仓库push到远程服务器上的仓库之前,远程仓库里是没有你的工作成果的。

5、目录更加简洁!

在Git本地仓库根目录,只有一个.git文件,它包含了所有的管理信息。而SVN想必大家都知道,每个子目录下都有噁心的.svn。这个当需要修改文件冲突等问题时,就需要考虑了。肯定是一个文件简单。

二、安装

在进行安装前,要说一下,Git和SVN一样,都需要创建一个服务器的,他们都可以创建自己的版本管理服务器。对于个人和小团队来说,使用托管服务器可能更合适。

常见的有Github 和 Bitbucket。Github没有个人免费仓库使用,代码放上去就是开源的。Bitbucket的个人仓库相关页面已经基本汉化了。注册流程也比较简单。

MAC上最好的GIT免费GUI工具是SourceTree(没有之一)。此外,最好的GIT代码开源网站是GitHub,最好的GIT代码私有库是BitBucket。

安装过程:

1,下载Git installer,地址;http://git-scm.com/downloads

2,下载之后打开,双击.pkg安装

3, 打开终端,使用git --version或者which git命令查看安装版本,有就是安装成功了

4,创建一个全球用户名、全球邮箱

git config --global user.name "shengyao"

git config --global user.email "MY_NAME@example.com"

5、安装成功后打开终端

cd ~进入根目录

输入命令ssh-keygen生成ssh-key,如果有提示,一直按回车

6、将SSH key添加到GitHub。登录到GitHub页面,Account Settings->SSH Public Keys->Add another key

将生成的key(id_rsa.pub文件)内容copy到输入框中,save。

commd+shift+g进入/Users/chen/.ssh/就可以看得见私钥和公钥

私钥的名字是 id_rsa,是服务器确定你身份的唯一凭证。

公钥的名字是id_rsa.pub。把这个文件发给仓库管理员,仓库管理员会把这个公钥放到服务器上,以后git就通过上面的私钥跟服务器交互了。如果使用github就是自己把公钥内容添加上去

7、找一个目录执行git clone http://xxx.git(从服务器端克隆git库,当然这个要服务器管理员给你权限和帐号),以后xxx目录就是一个git目录,可以在这个目录下执行git操作

三、 linux基础命令

sudo -s   获取绝对用户权限

cd xxx    进入xxx目录

ls (-a/-A)   显示当前路径下所有文件(隐藏的)

pwd       显示当前绝对路径

mkdir  xxx   创建文件夹xxx

man xxx     查看xxx命令手册

然后介绍下Git基础命令的含义;

clone   克隆远程仓库

init       初始化仓库

remote 连接远程仓库

pull      从远程仓库下拉获取新数据

push    将本地仓库新增或修改文件上传到远程仓库

add     添加文件或者修改文件,commit以及push之前使用

log      当前仓库提交过的日志信息

status  当前仓库版本状态

commit 提交到当前仓库中

branch 分支命令,相关增删查操作

checkout 使用远程仓库最后一个版本完全覆盖当前仓库内容/选择分支branch

diff      对比版本内容

merge   合并版本内容

参考:

https://help.github.com/articles/set-up-git/

Mac OS Git 安装相关推荐

  1. mac os maven_如何在Mac OS上安装Maven

    mac os maven 在Mac上安装Maven (Install Maven on Mac) Maven is the most widely used build and project dep ...

  2. mac memcached_如何在Mac OS上安装Memcached Server

    mac memcached Memcached is an open-source high performance distributed memory object caching system. ...

  3. mac安装rstudio_在Windows / Linux / Mac OS上安装R和RStudio入门

    mac安装rstudio 在Windows上安装R (Installing R on Windows) Go to r-project.org on your internet browser.在您的 ...

  4. IPAD 安装win8 苏菲安装Mac OS iphone安装安卓

    要是IPAD 能装win8 苏菲安装Mac OS  iphone安装安卓     该多好啊 ================== 黑苹果驱动之家 http://it360.org.cn

  5. 服务器 mac系统安装教程,mac os sierra安装教程

    mac os sierra安装教程 [2021-02-15 20:13:38]  简介: 下面由composer教程栏目给大家介绍Mac下安装Composer及Composer安装TP5的方法,希望对 ...

  6. Mac os如何安装绿盾客户端

    环境: Apple Mac mini 八核M1芯片 8G 256G Mac os 11.0 问题描述: Mac os如何安装绿盾客户端 解决方案: 一.关闭系统保护 1.关机电脑,按住"开机 ...

  7. Mac OS GMT安装与使用

    引言 GMT(Generic Mapping Tools)是一个被地学界广泛使用的绘图工具,可以完成海岸线.国界.河流等的绘制.GMT免费开源,且可以运行于Windows.Linux.Mac OS X ...

  8. iphone adb android,在苹果系统MAC OS X 安装 ADB (Android调试桥)

    该文章解决: 1.如何在苹果系统(MAC OS X) 安装 ADB (Android调试桥)? 2.如何让安卓屏幕投射到苹果系统(MAC OS X)屏幕? Android调试桥( adb )是一个开发 ...

  9. MAC上Git安装与GitHub基本使用

    目录 安装git 创建ssh key.配置git 提交本地项目到GitHub 一.安装Git MAC 上安装Git主要有两种方式 首先查看电脑是否安装Git,终端输入: git 安装过则会输出: WM ...

最新文章

  1. 互联网大厂技术面试内幕@霞落满天
  2. 正确生成浮点型的方法,解决sqlachemy Float浮点型的坑,生成float类型时,长度和精度均为0,导致查询不到结果!...
  3. SQL SERVER 2008 利用发布订阅方式实现数据库同步
  4. 《黑天鹅》读书笔记(part2)--我们从重复中学习,但忽略了从未发生过的事件
  5. 介绍一款受欢迎的.NET 开源UI库
  6. eclipselink_EclipseLink MOXy作为JAXB提供者
  7. 中台唯一的胜利果实:大数据中台架构详解
  8. hive实现根据用户分组,按用户记录求上下两条记录的时间差
  9. SQL语句关于数据库安全性
  10. opencv将透明PNG图片填充为白色背景
  11. 计网实验——直连网络设计
  12. 【2022修复版】社群扫码进群活码引流完整运营源码/对接免签约支付接口/推广正常绑定下级/带视频搭建教程
  13. 怎么保存ppt到计算机,怎么把ppt保存到u盘
  14. python 函数定义 编译_Cython编译的模块不允许访问函数定义的“module”而不是callab...
  15. 科比26分加索尔22+9湖人首胜 爵士5虎熄火遭羞辱
  16. 【C语言编程】古典问题:韩信点兵
  17. 程序员那些悲催的事儿
  18. Mac如何使用python创建Excel文件,并进行内容写入
  19. 三门问题(Monty Hall problem)背后的贝叶斯理论
  20. -Dmaven.multiModuleProjectDirectory system property is not set

热门文章

  1. ADC0832程序完整版 源码+Proteus仿真
  2. java中常量final的用法_详解Java中final的用法
  3. 内存颗粒位宽和容量_64M的SDRAM颗粒 一般内存是多大的?
  4. linux 的文件软链接隐藏,Linux inode及硬链接软链接详解
  5. 【TensorFlow-serving】初步学习模型部署
  6. Supercomputer 解题报告
  7. Apache Directory 指令
  8. Spring中ApplicationContext加载机制
  9. VS2008 AJAX控件介绍
  10. 理解Javascript_12_执行模型浅析