一、简介

git是一款开源的分布式版本控制工具

在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的

git起源

作者是Linux之父:Linus Benedict Torvalds

当初开发git仅仅是为了辅助Linux内核的开发(管理代码)

git的现状

在国外已经非常普及,国内并未普及(在慢慢普及)越来越多的开源项目已经转移到git

二、SVN 和Git 对比

速度

在很多情况下,git的速度远远比SVN快

结构

SVN是集中式管理,git是分布式管理

其他

SVN 使用分支比较笨拙,git可以轻松拥有无限分支

SVN必须联网才能正常工作,git支持本地版本控制工作

旧版本的SVN会在每一个目录放置一个.SVN,git只会在根目录有一个.git

分布式和集中式最大的区别在于:在分布式下,开发者可以本地提交。每个开发者机器上都有一个服务器的数据库

三、使用Git

跟SVN一样,你可以通过命令行敲指令或者图形界面客户端使用Git

在mac上,比较好用的git图形界面客户端有

SourceTree
 
GitHub
下载地址:https://mac.github.com
不过它是专门为GitHub网站而设计的
 
Xcode
 
四、git 常用指令
git help :git指令帮助手册
查看其他指令的做法:git help 其他指令
 
git config :git的配置信息相关(修改的是.git/config文件)
配置用户名:git config “user.name” 用户名(用于跟踪修改记录)
配置邮箱:git config “user.email” 邮箱(用于多人开发间的沟通)
查看配置信息:git config –l
编辑配置信息:git config –e(用vim编辑,:wq是退出vim编辑器)
设置指令的别名:git config alias.别名 原指令名称
设置带参数指令的别名:git config alias.别名 “原指令名称 参数”
将此设置应用到整个系统中:git config ––gloabal
 
git status :查文件的状态
查看某个文件的状态:git status 文件名
查看当前路径所有文件的状态:git status
git log :查看文件的修改日志
查看某个文件的修改日志:git log 文件名
查看当前路径所有文件的修改日志:git log
用一行的方式查看简单的日志信息:git log ––pretty=oneline
查看最近的N次修改:git log –N(N是一个整数)
 
git diff :查看文件最新改动的地方
查看某个文件的最新改动的地方:git diff 文件名
查看当前路径所有文件最新改动的地方:git diff
 
git init :初始化一个空的本地仓库,生成一个.git目录,用于维护版本信息
在当前路径初始化仓库:git init
在其他路径初始化仓库:git init 仓库路径
 
git add :将工作区的文件保存到暂缓区
保存某个文件到暂缓区:git add 文件名
保存当前路径的所有文件到暂缓区:git add .(注意,最后是一个点 . )
 
git commit :将暂缓区的文件提交到当前分支
提交某个文件到分支:git commit -m ”注释” 文件名
保存当前路径的所有文件到分支:git commit -m ”注释” 
 
git reset :版本回退(建议加上––hard参数,git支持无限次后悔)
回退到上一个版本:git reset ––hard HEAD^
回退到上上一个版本:git reset ––hard HEAD^^
回退到上N个版本:git reset ––hard HEAD~N(N是一个整数)
回退到任意一个版本:git reset ––hard 版本号(版本号用7位即可)
 
git reflog :查看分支引用记录(能够查看所有的版本号)
 
git rm:删除文件(删完之后要进行commit操作,才能同步到版本库)
 
git clone:下载远程仓库到本地
下载远程仓库到当前路径:git clone 仓库的URL
下载远程仓库到特定路径:git clone 仓库的URL 存放仓库的路径
 
git pull:下载远程仓库的最新信息到本地仓库
 
git push:将本地的仓库信息推送到远程仓库
 
五、工作原理
 
 几个核心概念必须知道
 
工作区(Working Directory):仓库文件夹里除.git目录以外的内容
 
版本库(Repository):.git目录,用于存储记录版本信息
暂缓区(stage)
 

iOS:使用Github托管自己本地的项目代码方式一:(Xcode方式:开发工具Xcode配置Git,由Xcode-->Source Control-->Commit)

大神博客:  https://www.cnblogs.com/XYQ-208910/p/5694789.html
 
 
 

83、源代码管理工具(Git)的更多相关文章

  1. 源代码管理工具-GIT

    源代码管理工具-GIT ---- 一. 掌握 - git 概述 1. git 简介? 什么是git? git是一款开源的分布式版本控制工具在世界上所有的分布式版本控制工具中,git是最快.最简单.最流 ...

  2. iOS核心笔记—源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  3. 源代码管理工具GIT

    01.GIT简介 svn是集中式的源代码管理工具,必须联网才能操作 git是分布式的. 有两中:一个是本地代码仓库,一个是远程代码仓库 分布式源代码管理工具 02.GIT - 本地代码仓库使用流程 1 ...

  4. 源代码管理工具 ——Git的介绍与简要教程

    一.Github与Git (一)简介 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线 ...

  5. Git 源代码管理工具

    Git 源代码管理工具 Git基本信息 Git :Git是一个“分布式”的版本控制工具 Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Lin ...

  6. [Tool] 源代码管理之Git

    本节目录 什么是Git 什么是GitHub 安装Git GitHub之Repository GitHub之托管页面 常用Git 命令 什么是Git 由于现在的开发多人协同办公,因此出现源代码管理工具 ...

  7. git源代码管理工具

    git是一款源代码管理工具 是分布式版本管理工具 分布式管理必须先在本地提交然后才能提交到服务器: svn集中式版本管理工具 集中式版本管理工具离开服务器就做不了版本管理: 初始化仓库 1.用git初 ...

  8. 源代码管理工具(上)-SVN基本使用

    ------------------------------------------------------SVN简介和搭建 ------------------------------------- ...

  9. iOS源代码管理工具

    源代码管理工具简介 1.为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼.繁琐的问题 2.源代码管理不当可能会引起的后果? 无法后悔:做错了一个操作后,不能回到之前的操作 ...

随机推荐

  1. html页面转jsp后 乱码问题。

    在jsp文件中的html显示乱码是因为服务端和客户端的编码不一致导致的.如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码.解决办法:1.未指定使用字符集 ...

  2. ReactiveX 学习笔记(27)使用 RxJS + Vue.js 进行 GUI 编程

    课题 程序界面由3个文本编辑框和1个文本标签组成. 要求文本标签实时显示3个文本编辑框所输入的数字之和. 文本编辑框输入的不是合法数字时,将其值视为0. 3个文本编辑框的初值分别为1,2,3. 创建工 ...

  3. mysql左连接右连接(查询两张表不同的数据)

    有两张表:一张A表he一张B表 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: ...

  4. 同时安装 Python 2 与Python 3 的方法及pip模块的下载安装

    Python虽然功能强大,上手容易,但版本问题却是个烦人的问题. Python 2.x 和 Python 3.x 版本之间存在很大的不兼容. 同时安装Python2.x和Python3.x 1. 在P ...

  5. java发送post请求,使用multipart/form-data的方式传递参数,可实现服务器间文件上传功能(转)

    废话少说,直接上代码: /** * 测试上传图片 * */ public static void testUploadImage(){ String url = "http://xxxtes ...

  6. 关于SQL 导出脚本失败 及SQL 的重装

    说点题外话 最近跳到一家新公司 薪资比较客观 但是技术可能不太尽如人意 而且对.Net方向的开发好像不是很友好  自己也不知道该怎么办 一个人大老远跑这边来 附近也没有什么.net的公司和职位 房子租 ...

  7. hdu2586How far away ?-(LCA)

    http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意:有n个点,有n-1条线连通,求两点间的最短距离,最近公共祖先的入门题.Tarjan离线算法. #in ...

  8. AJAX请求方式

    <!DOCTYPE html PUBLIC "‐//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. python入门(十四):面向对象(属性、方法、继承、多继承)

    1.任何东西1)属性(特征:通常可以用数据来描述)(类变量和实例变量)2)可以做一些动作(方法) 类来管理对象的数据.属性:类变量和实例变量(私有变量)方法:    1)实例方法    2)类方法   ...

  10. paloalto防火墙安装内容和软件更新

    1.为了确保您始终不会受到最新威胁(包括尚未发现的威胁)的攻击,您必须确保防火墙始终具有 Palo Alto Networks 发布的最新更新内容及软件. • Antivirus(防病毒)— 包括新的 ...