一、简介

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. 算法之Python实现 - 003 : 换钱的方法数

    [题目]给定数组arr,arr中所有的值都为正数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求组成aim的方法数. [代码1]递归 impor ...

  2. MongoDB主从复制和副本集

    MongoDB有主从复制和副本集两种主从复制模式,主从复制最大的问题就是无法自动故障转移,MongoDB副本集解决了主从模式无法自动故障转义的特点,因此是复制的首选.对于简单的主从复制无法自动故障转移 ...

  3. 求$N^N$的首位数字

    正如"大得多"定理所言,当$n\longrightarrow \infty$时: $$  n^n \gg n! \gg a^n \gg n^b \gg ln^kn $$ $f(n) = n^n$的增长 ...

  4. python待学习内容

    1.Python中不尽如人意的断言Assertion https://www.cnblogs.com/cicaday/p/python-assert.html 2.Python中的反转字符串问题 ht ...

  5. HttpServletRequest 获取cookie

    request.getHeader("cookie") 得到的是a=b,c=d Cookie[] cookies = request.getCookies(); 访问方在heade ...

  6. 第一次oo博客作业--表达式求导

    (1)说实话我这部分真的不知道写些什么,因为我只有第三次作业写了两个类,前两次都是一个类,一个类的好处可能也就是写起来比较方便(不用抽象什么共性了,直接c语言莽过去),缺点很多,架构不清晰,可读性不高 ...

  7. ASP.NET Easyui datagrid增删改+sqlhelper

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAFxCAYAAABtHZI7AAAgAElEQVR4nOy9DXwU1b3//wmCYHjUPl

  8. linux下nginx日常操作

    一.检查配置文件语法 [root@node2 /]# nginx -tc /usr/local/nginx/conf/nginx.conf nginx: the configuration file ...

  9. 记一次yii2 上传文件

    1 view渲染 <form action="../src/website/import/report-flow" method="post" encty ...

  10. html 自定义上传图片样式,并回显

    <div id="photoUpLoad"> <input type="file" id="photo" name=&qu ...