Git|基础入门教程

一、Git简介

Git是分布式版本控制工具,开源,与之配套的GitHub于2008年上线,这是世界上最大的代码仓库。

二、Git安装

官网下载、安装。

配置:在Git Bash中配置用户名和邮箱(即开通一个Git账户)

Git|基础入门教程_第1张图片
image

git config --list

列出配置信息,验证是否已经配置过账户信息。

三、Git理论基础

Git对项目的每个版本分别独立保存。非Git的一些版本控制工具,只是对更新内容进行独立保存。(优秀的程序员会把主要精力放在设计上,而非放在写代码和Bug调试上)

Git|基础入门教程_第2张图片
image
Git|基础入门教程_第3张图片
image
Git|基础入门教程_第4张图片
image

Git三棵树:

工作区:当前正在编程的版本。

暂存区:尚未提交至Git仓库的版本。

Git仓库:存储着各个版本。

Git大多数操作,都是在这三棵树之间的操作。

四、Git工作流程

Git|基础入门教程_第5张图片
image

git init

初始化.git,该文件夹不能随便删除。

git add README.md

把工作区中的指定文件添加到暂存区

git commit -m "提交说明"

把暂存区中的项目版本,提交至Git仓库。(每commit一次,Git仓库中就会创建一个有着唯一ID的版本快照)

Git|基础入门教程_第6张图片
image

五、查看状态

git status

查看当前Git状态,显示工作区、暂存区中尚未提交的文件及其信息。

git log

查看历史提交记录

git log --decorate --oneline --graph --all

查看历史版本(并显示HEAD指向、一行一行地显示、图形化地显示、显示所有历史版本)。

六、回到历史版本或指定版本

HEAD指针,永远指向当前版本,但不一定是最新版本,也不一定是Master版本。

Git|基础入门教程_第7张图片
image
Git|基础入门教程_第8张图片
image

git reset HEAD~

返回到上一个版本

git reset HEAD~~~~~

返回到当前版本的前5个版本

git reset HEAD~10

返回到当前版本的前10个版本

Git|基础入门教程_第9张图片
image

git reset id号

返回到指定id号的历史版本

git reset id号 文件名/路径

返回到指定id号的历史版本的指定文件

Git|基础入门教程_第10张图片
image

git reset --soft

git reset --mixed

git reset -hard

reset命令的三个选项

七、版本之间的对比

git diff

比较工作区版本和暂存区版本

(键盘上字母键,可以对打印出来的对比结果进行各种移动和跳转操作,比如 / 和 ? 键可用于搜索)

git diff ID号1 ID号2

比较Git仓库中两个指定id号的历史版本

git diff ID号

比较工作区版本和Git仓库中的历史版本

git diff HEAD

比较工作区版本和指针所指向的当前版本

git diff --cached ID号

比较暂存区版本和指定ID号的历史版本

git diff --cached

比较暂存区版本和HEAD指针指向的当前版本

Git|基础入门教程_第11张图片
image

八、撤销提交、删除文件、重命名文件

git commit --amend

撤销和修改最后一次提交

Git|基础入门教程_第12张图片
image

git checkout -- 文件名

把暂存区版本恢复到工作区中

git rm 文件名

删除工作区中指定的文件

git rm -f 文件名

同时删除工作区和暂存区中指定的文件

git rm --cached 文件名

删除暂存区中指定的文件

git mv 旧文件名 新文件名

该命令用于重命名文件

Git|基础入门教程_第13张图片
image

九、Git分支与分支管理

Git会对每个版本独立存储,相对于其它版本控制工作,这更耗费空间,但其克隆速度会非常快。

其它非Git的版本控制工具,只存储上个版本中不同的内容,这虽然省了空间,但其克隆速度会非常慢。

Git|基础入门教程_第14张图片
image

git branch 分支名

用于创建一个分支

git checkout 分支名

用于切换分支,即更改HEAD指针的当前指向。

git checkout -b 分支名

创建并切换到指定分支中

Git默认只有一条主分支,即Master分支,并且HEAD指针指向着这个主分支。

十、分支合并、删除分支

git merge 分支名

用于把指定分支合并到Master主分支中。

git branch -d 分支名

git branch --delete 分支名

以上两个命令作用相同,都是用于删除指定分支的

Git|基础入门教程_第15张图片
image

十一、匿名分支

没有名字的分支。

Git中的每个命令都有其背后的特定逻辑,只有理解了这些背后的逻辑,才能更好地使用这个命令。

十二、其它资源

1、安装Git、 安装TortoiseGit(小乌龟,用于图形化Git操作,减去Shell操作的麻烦。)

下载小乌龟:https://tortoisegit.org/

2、在GitHub上创建代码仓库、删除代码仓库。

3、用 小乌龟 把本地项目上传到GitHub上(创建Git仓库、Commit、Push)

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

廖雪峰Git教程

---END---

你可能感兴趣的:(Git|基础入门教程)