GIT简单教程(hai)

一、Git 基础知识

1-1 什么是版本控制系统?

版本控制系统即 VCS (Version Control System) ,它是一种记录若干文件修订记录的系统,它能帮助我们查阅或回到某个历史版本。

常见的版本控制系统有:“人肉版”VCS,LVCS本地式,CVCS集中式,DVCS分布式。“集中式”只有一个中央服务器,“分布式”中每个人都有自己的本地版本控制中心。

1-2 什么是 Git ?

Git是一个免费开源的分布式版本控制系统(DVCS),Git是一个基于内容寻址的存储系统。

使用Git版本控制工具,能做哪些事情?

  • 1. 我们可以回退到某个历史版本。
  • 2. 我们可以查看某个历史版本。
  • 3. 我们可以对两个版本进行差异比较。

1-3 Git 有哪些优势?

  • Git最大的特点是“快”,因为它不依赖于网络。
  • Git是完全的分布式。Git的分支操作非常轻量级。
  • Git已经成为现实意义上的标准。
  • Git的社区很成熟并且活跃,如GitHub。

1-4 什么是分支?什么是分支模型?

分支,即从目标仓库获得一份项目拷贝,每份拷贝都有和原仓库功能一样的开发线。

分支模型(branching model),也叫工作流(workflow),即一个围绕项目(开发、部署、测试)等工作流程的分支操作(创建、合并等)的规范集合。

Git 分支 与 常用的四个环境。常用的四个环境,分别是:开发环境(development分支)、测试环境(development分支 或 release分支)、预发布环境(release分支)、生产环境(master分支)。

1-5 .gitignore 文件

在 git add 时忽略匹配的文件,仅作用于未追踪的文件。


二、Git 常用命令

2-1 查看某个 Git 命令的用法和相关信息

git help <command>
git <command> -h
git <command> --help
man git-<command>
或者 查看 Git 文档

举例:查看 checkout 命令的用法和相关信息
git help checkout
git checkout -h
git checkout --help

2-2 Git 配置

配置级别
git config --local	# 默认,优先级最高,它只影响本仓库  .git/config
git config --global  # 中优先级,影响到所有当前用户的 Git 仓库  ~/.gitconfig
git config --system  # 最低优先级,影响到全系统的 Git 仓库  /etc/gitconfig

用户配置
git config --global user.name "geekxia"
git config --global user.email "geekxia@qq.com"

2-3 仓库初始化与状态跟踪

git init	#初始化仓库
git status	# 查看仓库状态

2-4 git add 提交文件至暂存区

跟踪所有文件
git add .

git add index.html
git status

2-5 git rm 删除

从暂存区删除文件
git rm --cached

从暂存区和工作目录中删除
git rm

删除所有被跟踪、但在工作目录中被删除了的文件
git rm $(git ls -files --deleted)

2-6 Git 提交与查看提交历史记录

git commit -m '提交备注'
git commit -a '提交备注'	// 直接提交
git status

查看提交历史
git log
git log --color --graph
git log --oneline

2-7 给复杂的 git 命令设置别名

设置 Git 命令别名的语法
git config alias.shortname <fullcommand>

举例:给 git log --color --graph 设置别名 git geek
git config --global alias.geek "log --color --graph"

使用自定义的 Git 命令
git geek

2-8 git diff 比较工作目录、暂存区和提交区之间的差异

2-9 如何把内容从暂存区撤回至工作目录?

2-10 如何把提交区中的内容撤回至工作目录?

2-11 如何把提交区中内容撤回至暂存区?

关于工作目录、暂存区和提交区之间的工作关系:

2-12 分支增加、删除与查看

增加一个分支
git branch <branchName>

删除一个分支
git branch -d <branchName>

查看所有分支
git branch -v

2-13 分支切换

分支切换原理:通过移动 HEAD 指针来检出版本,即分支切换。

切换到 test 分支
git checkout test

git checkout -b test

git checkout <reference>

让 HEAD 指针指向下一个分支
git checkout next

让 HEAD 指针恢复到上一个分支
git checkout -

2-14 git stash 与 git reset

git stash 保存当前工作目录和暂存区的状态,并返回一个干净的工作空间。

git reset 版本回退(在当前分支中,回退到某个历史版本)

git reset --mixed <commit>	// 默认
git reset --soft <commit>
git reset --hard <commit>

2-15 分支合并与冲突解决

git merge test

2-16 给 Git 提交 打标签

对某一次提交设置一个不变的别名
git tag

2-17 远程仓库相关操作

Git 支持本地协议,所以我们可以初始化一个本地的远程服务器。

git init ~/git-server --bare

远程仓库相关配置与操作
git remote
git remote -v
git remote add origin ~/git-server

提交本地历史至远程仓库
git push

获取远程仓库的提交历史·
git fetch

2-18 git pull 与 git clone

git pull = git fetch + git merge

克隆一个远程仓库作为本地仓库
git clone

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值