Git 教程 -- 第一天
什么是Git?
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
为什么使用Git?
众所周知,版本控制系统分为集中式版本控制系统(SVN、CVS等)与分布式版本控制系统(Git等),那它们之间有什么区别呢?
集中式版本控制系统:版本库是集中存放在中央服务器的。如SVN在使用时,须从服务器中拉取最新版本,提交代码时,还需要更新服务器的最新内容,避免冲突,再推送到服务器;所以所以项目的参与者都需要使用到中央服务器,一单服务器出错,全员放假。
分布式版本控制系统:没有中央服务器,每个项目参与则都有一个完整的版本库,即使在没有网络的情况下亦可以提交 commit
怎么使用Git?
下载地址:https://git-scm.com/
环境配置
- 安装:下载后按照默认选项安装即可;
初次使用,配置git工作环境;Git 配置工作环境有三种形式,而我们一般使用的就是第二种:
- /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
- ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
- 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
参考:https://git-scm.com/
用户配置:
>$ git config --global user.name "Your Name" >$ git config --global user.email "email@example.com"- 查看用户配置信息:
- git config --global --list;
- 注:查看系统配置信息:
- git config --system --list ;
- 查看项目配置信息:
- git config -- local --list
- 查看用户配置信息:
创建版本库
进入A盘创建git仓库,进行管理git项目;
例如:创建 a:/MyWork-Git
>$ cd /a >$ mkdir MyWork-Git >$ cd MyWork-Git
- 初始化 git init
git init : 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:
git init
如下:执行后仓库中出现一个名为 .git 的目录;没事千万不要手动修改这个目录里面的文件
>$ git init Initialized empty Git repository in A:/MyWork-Git/.git/注;若没有看到.git目录,那是因为这个目录默认是隐藏的(windows 显示隐藏文件即可)
提交文件。
- 初始化成功后,此时MyWork-Git就是一个git项目了;编写一个readme.txt文件,如下:
>$ vi readme.txt
输入内容;
退出编辑:Esc 再 shift 输入 :wq 查看当前仓库状态:
>$ git status ;显示有文件更新,未加入仓库

提交
第一步,用命令git add告诉Git,把文件添加到仓库:
>$ git add readme.txt再次 查看状态 :
>git status ;显示有文件加入仓库,未提交

第二步,用命令git commit告诉Git,把文件提交到仓库:并检查提交后的状态

git commit命令,-m后面输入的是本次提交的说明。
修改文件
修改文件内容后 ,查看改动信息
>git diff
查看提交记录
可查看版本号
>git log
第一天总结
- 如何配置git 工作环境:
- $ git config --global user.name "John Doe"
- $ git config --global user.email “xxxxx@xxx.com”
- 如何是项目交由Git管理--->git init
- 查看仓库状态 --->git status
- 查看修改内容 ---> git diff
- 提交文件: git add ----> git commit -m"xxxx"
- 查看历史 git log
Git 教程 -- 第一天的更多相关文章
- 转:git教程 ~~非常好的入门教程
--------------------------------------- notes: cdmkdir dirnametouchls > filenamelsecho "this ...
- 分布式版本控制系统 Git 教程
简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...
- [转]Git教程【译】
[转]Git教程[译] http://www.cnblogs.com/zhangjing230/archive/2012/05/09/2489745.html 原文出处:http://www.voge ...
- 深入浅出Git教程(转载)
目录 一.版本控制概要 1.1.什么是版本控制 1.2.常用术语 1.3.常见的版本控制器 1.4.版本控制分类 1.4.1.本地版本控制 1.4.2.集中版本控制 1.4.3.分布式版本控制 1.5 ...
- git常用命令总结--廖雪峰老师Git教程命令总结
学习了廖雪峰老师的Git教程之后的命令总结,重点关于git和远程仓库的东西. 如果没有学过,这是传送门 下面这个图很重要 一.git初始化本地仓库和配置 echo "想输入到文件的内容,一般 ...
- Git 教程(一):简介和安装
为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的 ...
- 深入浅出Git教程【转载】转载
深入浅出Git教程(转载) 目录 一.版本控制概要 1.1.什么是版本控制 1.2.常用术语 1.3.常见的版本控制器 1.4.版本控制分类 1.4.1.本地版本控制 1.4.2.集中版本控制 1 ...
- Git教程(二)-如何上传和同步自己的git项目
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Git接触并使用多年, 工作中使用较多,它的分布式存储,使每个人的电脑均为服务器的策略非常棒:再加上 ...
- EnjoyingSoft之Mule ESB开发教程第一篇:初识Mule ESB
目录 1. Mule ESB基本介绍 2. Mule ESB社区版和企业版 3. Mule ESB常用场景 4. Mule ESB软件安装 客户端安装 服务端安装 5. 第一个Mule ESB应用- ...
随机推荐
- MySQL ERROR Got an error reading communication packets
200 ? "200px" : this.width)!important;} --> 介绍 经常会在错误日志中看到这个报错,首先我们可以从show GLOBAL statu ...
- python 面向对象九 定制类
一.定制类,实质就是我们自己重写特殊函数 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的. __slots__我们已经知道怎么用了,__l ...
- js 编码详解
今天在整理 js编码解码方法时,在网上搜资料,发现一篇文章讲的不错,讲解的非常简单明了,于是乎就想转载过来,却发现无法转载到博客园,最后只能卑鄙的摘抄过来.js编码解码就是将一些对URL和数据库敏感的 ...
- Canvas 入门案例
五. Canvas 入门案例 1. canvas 圆形绘制 <!DOCTYPE html> <html lang="en"> <head> ...
- typedef struct和struct 的区别 用途
刚刚想到的,我们在用结构体的时候会遇到'->'和'.',这是什么情况呢? 不能混用的(c和c++不同语言对它们没有影响) 我说的不能混用的意思是'.'用于结构体指针的指向......而'-& ...
- spring 获取配置文件的值
Spring 获取配置文件的值 package com.hafiz.www.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; ...
- mui 每次页面跳转用mui.openWindow会不会占用很大内存?
http://ask.dcloud.net.cn/question/5384 不能每次用mui.openWindow.不用的webview要close,一个webview被close后会露出其他没有被 ...
- [Usaco2009 Feb]庙会捷运Fair Shuttle
Description 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1& ...
- E. Dasha and Puzzle 数学题
http://codeforces.com/contest/761/problem/E 给出一颗树,要求在坐标系中用平行于坐标轴的线描绘出来. 要求边不能相交,而且点的坐标唯一. 注意到2^1 + 2 ...
- Shiro 自定义登陆、授权、拦截器
Shiro 登陆.授权.拦截 按钮权限控制 一.目标 Maven+Spring+shiro 自定义登陆.授权 自定义拦截器 加载数据库资源构建拦截链 使用总结: 1.需要设计的数据库:用户.角色.权限 ...