Git 源代码管理工具


Git基本信息

  • Git :Git是一个“分布式”的版本控制工具
  • Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Linux内核的开发
  • Git在国外已经很普及,在国内也慢慢开始普及

Git与SVN的区别

  1. 结构:SVN是“集中式”的版本控制,Git是“分布式”的版本控制
  2. 速度:(多数情况下) Git速度高于SVN的速度
  3. 分支:SVN的分支比较笨拙,可Git可以轻松的创建无限个分支
  4. 安全:Git的数据备份比SVN更安全,因为Git数据不仅仅是存在于服务器,在每个用户端都会有完整的数据备份
  5. 旧版本的SVN会在每个文件夹下建立一个.svn文件,Git只会在根目录下创建一个.git文件

Git的工作流程

  1. 从服务器获取代码(clone),业界称为“克隆”
  2. 修改代码后提交到本地
  3. 当需要时在提交到服务器

Git命令行

  1. git init 创建一个仓库
  2. touch + 文件名 初始化项目,添加需要的文件
  3. git commit -m "此处是标注信息" 提交项目到版本控制
  4. git config --global user.email "xiaoming@xiaoming.com"

    git config --global user.name "Xiao Ming"

    配置全局Git的邮箱地址和用户名

  5. git commit -m "此处好似标注信息" 最后再commit一次进行提交

Git的工作原理



代码提交以前必须要放到stage中,图中的stage为暂缓区。然后才能通过 git commit 命令将stage中的代码提交到master中,图中的master相当于SVN中的trunk主干。

Git版本号:commit ce126e257700f00ecd1ca1e92e58f58851ec41da git的版本号是采用MD5编码后产生的字符串。

Git其他常用命令行

  • 基本的命令行

    1. git log 查看git日志
    2. git status 查看代码当前状态
    3. git reflog 查看指令使用记录
    4. git rm + 文件名 删除指定的文件
    5. cat .git/config 查看.git文件中的配置信息
  • 回退命令行

    1. git reset --hard HEAD^ 回退到前一个版本命令
    2. git reset --hard HEAD^^ 回退到前两个版本命令
    3. git reset --hard HEAD~N 回退到前N个版本命令(N为数字)
    4. git reset --hard 版本号 回退到指定版本号命令(此处版本号为显示的版本号的前7位)
  • 配置局部用户名和邮箱地址

    1. git config "user.name" + 用户名

    2. git config "user.email" + 用户邮箱

    ps: 配置局部Git的邮箱地址和用户名(用户名和用户邮箱配置命令必须逐条配置,否则报错)

  • 为常用指令配置别名

    1. . git config -l 查看配置
    2. . git config alias.cfg config 为config设置别名为:cfg
    3. . git config alias.st status 为status设置别名为:st
    4. . git config alias.ci "commit -m" 为commit -m设置局部别名为:ci
    5. . git config --global alias.ct "commit -m" 为commit -m设置全局别名为:ct
  • 配置个性化日志格式

    1. . git log --pretty=oneline 改变日志格式为一行

      效果:5920aa0fa5e79b04a08e077e6d6a0d159597740a this is a changed file

    2. . git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    git lg 改变为另一种日志格式命令(号称史上最漂亮日志格式)

    效果:* 5920aa0 - (HEAD, master) this is a changed file (6 minutes ago) <Yang Ke>

  • 分支操作

    1. git branch 查看所有分支
    2. git branch + 分支名 查看指定的分支/(若无此分支)创建分支
    3. git checkout + 分支名 切换到指定的分支
    4. git merge + 分支名(eg: v1) 将v1版本集成到当前发布版本
    5. git branch -d + 分支名 删除指定的分支

    ps:用git branch 查看结果中绿色的为正在开发的版本

Git 源代码管理工具的更多相关文章

  1. git源代码管理工具

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

  2. IOS Git源代码管理工具

    .新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...

  3. VS2015 Git 源代码管理工具使用记录

    1. 首先到源代码托管平台申请个账户:https://git.oschina.net/ 2.创建流程图: 2.1 开始创建项目: 2.2 3. 4.

  4. 源代码管理工具-GIT

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

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

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

  6. 源代码管理工具GIT

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

  7. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

  8. iOS源代码管理工具

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

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

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

随机推荐

  1. linux 驱动学习笔记05--文件系统与设备文件系统

    查看/proc/devices 文件可以获知系统中注册的设备,第 1 列为主设备号,第 2 列为设备名,如:

  2. JavaScript DOM编程艺术读书笔记(二)

    第五章 最佳实践 平稳退化(graceful degradation):如果正确使用了JavaScript脚本,可以让访问者在他们的浏览器不支持JavaScript的情况下仍能顺利地浏览你网站.虽然某 ...

  3. Chrome浏览器Network面板http请求时间分析

    Chrome浏览器开发者工具Network窗口下,可以查看下载各组件所需的具体时间 根据上表进行简要分析-- Stalled(阻塞) 浏览器对同一个主机域名的并发连接数有限制,因此如果当前的连接数已经 ...

  4. redis geo 初探

    redis的geo搜索功能是3.2之后新增的,所以实验开始之前先查看redis的版本,确保版本正确. redis的geo多用于地理类应用,所以这次还是用了高德地图API来用作数据源. 首先截取几个点: ...

  5. 建筑材料系统 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发

    框架介绍: 1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性 ...

  6. 百度音乐API抓取

    百度音乐API抓取 前段时间做了一个本地音乐的播放器 github地址,想实现在线播放的功能,于是到处寻找API,很遗憾,不是歌曲不全就是质量不高.在网上发现这么一个APIMRASONG博客,有“获取 ...

  7. 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇

    本文摘自:http://www.job168.com/info/read_100394.html 微软的许多技术,如OLE.ActiveX.以及DirectX等都是基于COM技术而建立起来的.微软本身 ...

  8. wkhtmltopdf中文显示空白或者乱码方框

    中文乱码或者空白解决方法 如果wkhtmltopdf中文显示空白或者乱码方框 打开windows c:\Windows\fonts\simsun.ttc拷贝到linux服务器/usr/share/fo ...

  9. 利用Service bus中的queue中转消息

    有需求就有对策就有市场. 由于公司global的policy,导致对公司外发邮件的service必须要绑定到固定的ip地址,所以别的程序需要调用发邮件程序时,问题就来了,如何在azure上跨servi ...

  10. linux中的chage命令

    在LINUX系统上,密码时效是通过chage命令来管理的. 参数说明:-m 过多少天后可修改密码.为0时代表任何时候都可以更改密码.-M 过多少天后密码过期.-W 用户密码到期前,提前收到警告信息的天 ...