Git 源代码管理工具
Git 源代码管理工具
Git基本信息
- Git :Git是一个“分布式”的版本控制工具
- Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Linux内核的开发
- Git在国外已经很普及,在国内也慢慢开始普及
Git与SVN的区别
- 结构:SVN是“集中式”的版本控制,Git是“分布式”的版本控制
- 速度:(多数情况下) Git速度高于SVN的速度
- 分支:SVN的分支比较笨拙,可Git可以轻松的创建无限个分支
- 安全:Git的数据备份比SVN更安全,因为Git数据不仅仅是存在于服务器,在每个用户端都会有完整的数据备份
- 旧版本的SVN会在每个文件夹下建立一个.svn文件,Git只会在根目录下创建一个.git文件
Git的工作流程
- 从服务器获取代码(clone),业界称为“克隆”
- 修改代码后提交到本地
- 当需要时在提交到服务器
Git命令行
- git init 创建一个仓库
- touch + 文件名 初始化项目,添加需要的文件
- git commit -m "此处是标注信息" 提交项目到版本控制
git config --global user.email "xiaoming@xiaoming.com"
git config --global user.name "Xiao Ming"
配置全局Git的邮箱地址和用户名
git commit -m "此处好似标注信息" 最后再commit一次进行提交
Git的工作原理

代码提交以前必须要放到stage中,图中的stage为暂缓区。然后才能通过 git commit 命令将stage中的代码提交到master中,图中的master相当于SVN中的trunk主干。
Git版本号:commit ce126e257700f00ecd1ca1e92e58f58851ec41da git的版本号是采用MD5编码后产生的字符串。
Git其他常用命令行
基本的命令行
- git log 查看git日志
- git status 查看代码当前状态
- git reflog 查看指令使用记录
- git rm + 文件名 删除指定的文件
- cat .git/config 查看.git文件中的配置信息
回退命令行
- git reset --hard HEAD^ 回退到前一个版本命令
- git reset --hard HEAD^^ 回退到前两个版本命令
- git reset --hard HEAD~N 回退到前N个版本命令(N为数字)
- git reset --hard 版本号 回退到指定版本号命令(此处版本号为显示的版本号的前7位)
配置局部用户名和邮箱地址
git config "user.name" + 用户名
git config "user.email" + 用户邮箱
ps: 配置局部Git的邮箱地址和用户名(用户名和用户邮箱配置命令必须逐条配置,否则报错)
为常用指令配置别名
- . git config -l 查看配置
- . git config alias.cfg config 为config设置别名为:cfg
- . git config alias.st status 为status设置别名为:st
- . git config alias.ci "commit -m" 为commit -m设置局部别名为:ci
- . git config --global alias.ct "commit -m" 为commit -m设置全局别名为:ct
配置个性化日志格式
.
git log --pretty=oneline 改变日志格式为一行效果:5920aa0fa5e79b04a08e077e6d6a0d159597740a this is a changed file
.
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>
分支操作
- git branch 查看所有分支
- git branch + 分支名 查看指定的分支/(若无此分支)创建分支
- git checkout + 分支名 切换到指定的分支
- git merge + 分支名(eg: v1) 将v1版本集成到当前发布版本
- git branch -d + 分支名 删除指定的分支
ps:用git branch 查看结果中绿色的为正在开发的版本
Git 源代码管理工具的更多相关文章
- git源代码管理工具
git是一款源代码管理工具 是分布式版本管理工具 分布式管理必须先在本地提交然后才能提交到服务器: svn集中式版本管理工具 集中式版本管理工具离开服务器就做不了版本管理: 初始化仓库 1.用git初 ...
- IOS Git源代码管理工具
.新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...
- VS2015 Git 源代码管理工具使用记录
1. 首先到源代码托管平台申请个账户:https://git.oschina.net/ 2.创建流程图: 2.1 开始创建项目: 2.2 3. 4.
- 源代码管理工具-GIT
源代码管理工具-GIT ---- 一. 掌握 - git 概述 1. git 简介? 什么是git? git是一款开源的分布式版本控制工具在世界上所有的分布式版本控制工具中,git是最快.最简单.最流 ...
- iOS核心笔记—源代码管理工具-GIT
源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...
- 源代码管理工具GIT
01.GIT简介 svn是集中式的源代码管理工具,必须联网才能操作 git是分布式的. 有两中:一个是本地代码仓库,一个是远程代码仓库 分布式源代码管理工具 02.GIT - 本地代码仓库使用流程 1 ...
- Git代码管理工具
Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...
- iOS源代码管理工具
源代码管理工具简介 1.为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼.繁琐的问题 2.源代码管理不当可能会引起的后果? 无法后悔:做错了一个操作后,不能回到之前的操作 ...
- 源代码管理工具(上)-SVN基本使用
------------------------------------------------------SVN简介和搭建 ------------------------------------- ...
随机推荐
- Linux内核中断学习
1.内核中断概述 (1)在OS环境下编写中断处理函数与之前在裸机中编写中断处理函数的方式是不一样的,在Linux内核中提供了一套用来管理硬件中断资源的软件体系架构. (2)在操作系统中,中断号与gpi ...
- JOSN 为空数据的处理
for(var i=0,l=thisuserList.length;i<l;i++){ for(var key in thisuserList[i]){ if(thisuserList[i][k ...
- Python——函数中的关键字参数
关键字参数 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看 ...
- 《西科软件》一个高级PHP工程师所应该具备的
初次接触PHP,就为他的美所折服,于是一发不可收拾.很多面试,很多人员能力要求都有"PHP高级工程师的字眼",如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师 ...
- JS编码解码
一.定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码. 语法 encodeURI(URIstring) 参数 描述 URIstring 必需.一个字符串,含有 URI 或其他要 ...
- 利用matlab摄像机标定
(1)输入图像 "Image names"键 Matlab的图形窗口显示出20幅靶标图像 (2) 提取角点 "Extract grid corners"键. 输 ...
- C# SHA1散列算法
C# SHA1散列算法 /// <summary> /// C# SHA1散列算法 /// </summary> /// <param name="str&qu ...
- (转)jquery easyui treegrid使用小结 (主要讲的是如何编辑easyui中的行信息包括添加 下拉列表等)
在实际应用中可能会碰到不同的需求,比如会根据每行不同的参数或属性设置来设置同列不同的editor类型,这时原有的例子就显的有点太过简单,不能实现我们的需求,现在应用我在项目中的操作为例,显示下实现同列 ...
- 深入理解display属性
display 属性在网页布局中很常见,但是之前一直不了解他的各个属性的区别,只是简单的使用block.none属性,对于其他属性都不清楚,今天详细的学习和实践display属性的各个方面 定义 di ...
- 四元数(Quaternions)简介
经常在代码中看到Quaternions,也知道它是用来表达三维空间的旋转的,但一直没有更深的理解.这两天终于花点时间看了看维基百科的介绍,算是多了解了点.做个记录吧! 本质上而言,四元数是一个数学概念 ...