Git 版本控制
- 概念
GIT是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 - 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的
Git的工作原理
-
工作区(working Directory): 仓库文件夹里面,除了
.git目录
以外的内容 -
版本库(Repository): .git目录, 用于存储记录版本信息
- 版本库中的暂缓区(staga):
- 版本库中的分支(master): git自动创建的第一个分支
- 版本库中的Head指针: 用于指向当前的分支
-
gitadd 和 git commit 指令的作用
-
git add : 把文件修改添加到暂缓区
-
+ git commit : 把暂缓区的所有内容提交到当前Head指针指向的分支
git自学网站 : https://backlog.com/git-tutorial/cn/
Git使用环境
多人开发是需要一个共享版本库, 单人开发初始化一个本地卡即可
-
共享版本库的形式
- 本地共享库 : 文件夹/U盘/硬盘
- 远程共享库 : 自己搭建git服务器/托管到第三方平台(github/oschina等)
无论是单人开发还是多人开发,客户端都可以使用命令行或者图形化界面使用git
Git命令-个人开发
Git help
: git指令帮助手册-
git init: 仓库初始化(个人仓库)
- 仓库文件目录
HEAD : 指向当前分支的一个提交
description : 项目的描述信息
config : 项目的配置信息
info/ : 里面有一个exclude 文件 , 指定本项目要忽略的文件
objects/ : Git对象库(commit / tree / blob / tag )
refs/ : 标识每个分支指向哪个提交
hooks/ : 默认的hook脚本
- Git 设置配置信息
配置用户名:
git config "user .name "用户名"
(用于跟踪修改记录)-
配置邮箱 :
git config "user.email "邮箱"
( 用于多人开发间的沟通 )- 查看配置信息 :
git config -l
- 编辑配置信息 :
git config -e
- 查看配置信息 :
- 查看文件状态 :
git status
- 查看某个文件的状态 :
git status + 文件名
- 查看当前路径的所有文件的状态 ;
git status
- 将工作区文件添加到暂缓去 :
git add
- 保存某个文件到暂缓区 :
git add + 文件名
- 保存所有文件到暂缓区 :
git add .
(最后加个点)
- 将暂缓区的文件提交到当前分支
- 提交某个文件到分支 :
git commit -m + "注释解释说明" + 文件名
- 提交暂缓区当前路径所有文件到分支 ;
git commit -m "注释"
查看文件修改日志 :
git log
- 查看某个文件的修改日志 :
git log + 文件名
- 查看当前所以文件的修改日志 :
git log
- 用一行的方式查看简单的日志信息 :
git log --pretty=oneline
- 查看最近N次的修改 :
git log - N
- 查看文件的最新改动 :
git diff
- 查看某个文件的最新改动 :
git diff + 文件名
- 查看所有文件的最新改动 :
git diff
- 查看分支引用记录 ( 能查看所有的版本号) :
git reflog
- 删除文件 (删完之后要进行commit操作才能同步到版本库) :
git rm
- 版本回退 ( 建议加上-hard 参数, git 支持无限次返回) :
git reset
- 回退到上一个版本:
git reset --hard HEAD^
- 回退到上上一个版本:
git reset --hard HEAD^^
- 回退到上N个版本:
git reset --hard HEAD~N
- 回退到任意版本 :
git reser --hard + 版本号
(版本号用七位即可)