参考博客:廖雪峰的官方网站

一、window安装git

Git官网直接下载安装程序,默认选项安装即可。

1、设置自己的git(cmd命令或者git bash进入)

git config --global user.name "myname"
git config --global user.email "myname@example.com"

二、创建版本库

第一步:选择一个合适的存储位置,创建一个空目录(请确保目录不含中文)

mkdir learngit
cd learngit

第二步:git init 命令将这个目录变成Git管理的仓库

git init

三、文件管理

1、添加文件到版本库

注意:版本控制系统只能跟踪文本文件的改动,无法记录图片、视频、Word文档等二进制格式文件。

并且文本文件编辑最好统一编码,如utf-8(不要用window自带的记事本编辑文本)。

添加文件分两步:

  1、git add file,将文件放入暂存区stage

  2、git commit -m message,将文件放入分支master

2、git status 查看版本库状态,git diff file 查看本地和仓库的不同【只能查看未add的文件的改动】

  文件修改未add --》Changes not staged for commit

  文件add后 --》Changes to be committed

  文件commit后 --》On branch master nothing to commit,working tree clean

3、回退版本或丢弃更改

  git log 从近到远显示commit提交日志。参数 --pretty=oneline 将提交日志单行显示

  git reflog 从近到远显示命令历史,包含命令id,供回退。

  git reset --hard HEAD^ 回退到上一个版本【^符号在window下需要加双引号】

    HEAD^^ 上上个版本,往上第100个版本:HEAD~100

  参数:hard 回退时,版本文件覆盖本地文件,未add、已经add、已经commit都会清空。再次回到回退前的版本,也是版本库文件,git diff 显示为空,git status 显示工作区干净,没有提交。

     soft 回退时,之前commit的、已经add的将会放入暂存区stage,之前未add的,还在工作区等待add。再次回到回退前的版本,恢复到之前的状态。

     mixed 回退时,回退版本上已经commit、未add的、已经add的都放在工作区,还没add。

  git checkout -- file 撤销工作区的修改,回到commit或add时的状态。【SVN中checkout,是检出某个版本,因为SVN里没有暂存区的概念,检出即意味着版本覆盖】

    回到commit:即本地与版本库一致;回到add:即原先add后,checkout依然在add状态。

  git reset HEAD file 将暂存区文件放到工作区

4、删除文件

  git rm file 删除文件,放入暂存区,等待提交

  

git--分布式版本管理系统的更多相关文章

  1. git分布式版本管理系统

    Git是分布式版本管理系统Svn是集中式版本管理系统 git速度快,适合大规模协同开发 什么是分布式版本管理系统 假如有10个人,每个人的代码库都是独立的,自己想进行代码提交回滚都可以,无需链接中央服 ...

  2. Git ——分布式版本控制系统

    Git ——分布式版本控制系统 本人git主页地址:https://github.com/lendoon/test.git git使用心得:初次接触git在课堂上,老师给我们提供了一个代码托管的场所, ...

  3. g4e基础篇#2 Git分布式版本控制系统的优势

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...

  4. GIT 分布式版本控制系统的简单使用介绍

    GIT 分布式版本控制系统的简单使用介绍 1.GIT的概念Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别:1. GIT不仅仅是个版本控制系统,它 ...

  5. Git分布式版本控制系统(下)

    Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...

  6. GIT分布式版本控制系统

    Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux ...

  7. 手把手教你玩转Git分布式版本控制系统! (转载)

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 Git诞生历史 ...

  8. 手把手教你玩转Git分布式版本控制系统!

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...

  9. 《Linux就该这么学》自学笔记_ch21_使用Git分布式版本控制系统

    <Linux就该这么学>自学笔记_ch21_使用Git分布式版本控制系统 文章主要内容: 分布式版本控制系统 使用Git服务程序 提交数据 移除数据 移动数据 历史记录 还原数据 管理标签 ...

  10. 开发效率优化之Git分布式版本控制系统(一)

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将先从Git分布式版本控制系统来阐述开发效率优化 一,企业 ...

随机推荐

  1. PHP substr()函数

    PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法 ...

  2. poj 3162 树DP+单调队列

    http://acm.hust.edu.cn/vjudge/problem/11552 http://blog.csdn.net/woshi250hua/article/details/7727677 ...

  3. 在CentOS上配置redis服务

    #!/bin/sh # # redis Startup script for Redis Server # # chkconfig: - 80 12 # description: Redis is a ...

  4. 零基础逆向工程35_Win32_09_临界区_CRITICAL_SECTION结构

    1 引入 为什么会存在临界区这中机制呢?是为多线程同时访问全局变量而引入的.也就是上一篇帖子的末尾流出的问题程序的解决办法. 看懂了上面的,那么我们再罗嗦总结一下: 1.多线程访问全局变量时,存在线程 ...

  5. 《Cron表达式详解》

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month ...

  6. IE浏览器在线更新GitHub客户端

    在IE中输入网址:http://github-windows.s3.amazonaws.com/GitHub.application

  7. 转:用AutoCAD 系统变量编程

    Autocad的系统变量, 我们可以通过如下得到: Autodesk.AutoCAD.ApplicationServices.Application.GetSystemVariable(/*MSG0* ...

  8. 关于基于Linphone的视频通话Android端开发过程中遇到的问题

    关于基于Linphone的视频通话Android端开发过程中遇到的问题 运用开源项目Linphone的SDK进行开发,由于是小组进行开发,我主要负责的是界面部分. 由于当时是初学Android开发,对 ...

  9. 解决 MVC4 Code First 数据迁移 数据库发生更改导致调试失败解决方法(二)

    文章转载自:http://www.cnblogs.com/amoniyibeizi/p/4486617.html 前几天学MVC过程中,遇到更改Model类以后,运行程序就会出现数据已更改的问题导致调 ...

  10. Django基础--2

    一.路由系统 URL 1.模板语言循环字典 1.简单的字典循环 <ul> {% for i in user_dict %} <li>{{ i }}</li> {% ...