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

一、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. Quartz使用(2) - Quartz核心接口Scheduler、Job

    quartz的核心接口如下: 接口 含义 Scheduler scheduler的主要API接口 Job 任务实现接口,期望调度器能够执行 JobDetail 用于定义Job实例 Trigger 调度 ...

  2. C#取得程序的根目录以及判断文件是否存在

    一:获取根目录的方法 取得控制台应用程序的根目录方法方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径方法2.AppDomain.CurrentDo ...

  3. Emacs学习笔记1

    Emacs笔记-Emacs基本的文本操作 使用命令时要在minibuffer缓冲区中 关于文件 注意 在对单词的操作中C开头的控制范围要比M开头的控制范围要下 对于文件的撤销操作, 不要使用C-x, ...

  4. IIS报错试图加载格式不正确的程序集解决办法 64位WinServer系统兼容32位程序集

    问题描述:     将网站/WCF发布到IIS后运行报这个错. 原因:     64位系统和32系统不匹配导致. 解决办法:     方法一.注册32位IIS(必须卸载64位IIS)         ...

  5. 通用代码——makefile文件

    ver=debug ifeq ($(ver),debug) TARGET = testmain_d FLAG=-g -D debug else TARGET = testmain_r FLAG=-O3 ...

  6. FastDFS 基础知识

    FastDFS是一个开源的轻量级分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount ...

  7. sqlserver门户设置

    ------ insert by wandz 20180918 门户模板表 start ------set identity_insert oa_portal_template on;begin de ...

  8. Oracle笔记4-pl/sql-分支/循环/游标/异常/存储/调用/触发器

    一.pl/sql(Procedure Language/SQL)编程语言 1.概念 PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把 ...

  9. 【Android学习入门】Android中activity的启动模式

    启动模式简单地说就是Activity启动时的策略,在Androidmanifest.xml文件中的标签android:launchMode属性设置,在Android中Activity共有四种启动模式分 ...

  10. ActionMethod_DMI_动态方法调用

    Action执行的时候并不一定要执行execute方法可以在配置文件中配置Action的时候用method=来指定执行那个方法,也可以在url地址中动态指定(动态方法调用DMI)(推荐) 动态方法调用 ...