1Git 工作原理
学好 Git 的前提是理解 Git 工作原理。
了解 Git 工作原理前,我们需要了解两个重要的知识,即工作区和版本库。
- 工作区:仓库文件夹里面,除了 .git 目录以外的内容(详见下图)
- 版本库:Git 目录,用于存储记录版本信息(详见下图)
- 版本库中的暂缓区(stage)
- 版本库中的分支(master):Git 自动创建的第一个分支
- 版本库中的 HEAD 指针:用于指向当前分支1
如下图所示:
在工作区中有文件 a.txt、b.html,经过执行 git add .
命令之后会将工作区的文件添加到暂缓区中,再经过执行 git commit -m "说明文字"
命令之后,会将暂缓区的文件添加到版本库的分支当中去
。
2Git基本指令
1 git help
:Git 指令帮助手册
2 git init
:(个人仓库)仓库初始化
3 git config user.name "用户名"
(跟踪 who 修改记录)配置用户名
4 git config user.email "邮箱"
(多人开发间的沟通)配置邮箱
5 git status
:查看文件的状态
- 查看某个文件的状态:
git status 文件名
- 查看当前路径所有文件的状态:
git status
6 git add
:将工作区的文件保存到暂缓区
- 保存某个文件到暂缓区:
git add 文件名
- 保存当前路径的所有文件到暂缓区:
git add .
(注意,最后是一个点.
)
7 git commit
:将暂缓区的文件提交到当前分支
- 提交某个文件到分支:
git commit -m "注释"
文件名 - 保存当前路径的所有文件到分支:
git commit -m "注释"
8 git log
:查看文件的修改日志
9 git diff
:查看文件最新改动的地方
10 git reflog
:查看分支引用记录(能够查看所有的版本号)
11 git branch +分支名 创建新的分支
12 git reset
:版本回退(建议加上––hard 参数,Git 支持无限次后悔)
- 回退到上一个版本:
git reset ––hard HEAD^
- 回退到上上一个版本:
git reset ––hard HEAD^^
- 回退到上 N 个版本:
git reset ––hard HEAD~N
(N 是一个整数) - 回退到任意一个版本:
git reset ––hard 版本号
13 git clone
:下载远程仓库到本地
- 下载远程仓库到当前路径:
git clone 仓库的URL
- 下载远程仓库到特定路径:
git clone 仓库的URL 存放仓库的路径
14 git pull
:下载远程仓库的最新信息到本地仓库
15 git push
:将本地的仓库信息推送到远程仓库
- 提交时如果远程仓库有其它人提交的最新代码,必须先 pull,再提交
17 分支指令
-
git branch
-
# 列出所有远程分支 $ git branch -r
-
# 列出所有本地分支和远程分支$ git branch -a
-
# 新建一个分支,但依然停留在当前分支$ git branch [branch-name]
-
# 以远程分支为基础新建一个分支,并切换到该分支$ git checkout -b [branch] origin/[remote-branch]
-
# 新建一个分支,指向指定commit $ git branch [branch] [commit