Git官网
初始化操作
- Git版本查看
$ git --version
- 用户名配置
$ git config --global user.name "your name"
note:参数--global
表明所有Git版本库都是用一样的用户名
$ git config --global user.email "email@example.com"
note:参数--global
表明所有Git版本库都是用一样的邮箱
note:可以对某个Git仓库使用不同的用户名和邮箱
创建版本库
- 选择合适的地方创建一个目录
note:Win系统下,目录名(包括父目录)不要包含中文
$ mkdir learngit
创建 learngit 目录
$ cd learngit
转到 learngit 目录
$ pwd
显示当前目录 - 把当前目录转化为Git可以管理的仓库
$ git init
note:不要修改生成的.git
目录中的文件
添加文件到Git仓库
- 把文件添加到仓库
note:添加的文件一定要在Git仓库目录下(子目录也可以)
$ git add readme.txt
- 可以多次添加文件
$ git add file1.txt
$ git add file2.txt file3.txt
- 把文件提交到仓库
$ git commit -m "wrote a readme file"
*note:参数-m
后面输入的是本次提交的说明,最好要有意义 *
随时掌握工作区状态git status
命令
主要有以下三种状态:
- 添加了文件后没有提交,后续修改了提交的文件
此时可以用git diff
命令查询上次提交文件与现在文件的不同
note:此时如果需要保存修改后的版本需要重新使用git add
命令添加到 Git 仓库,否则直接使用git commit
命令只会提交未修改的文件到 Git 仓库 - 添加了文件没有提交,也没有后续的修改,等待提交
此时可以放心的使用git commit
命令提交到Git仓库然后下班了 - 没有需要提交的修改,工作目录是干净的。
版本回退
快照commit
思想:好比玩RPG游戏时,每通过一关就自动存盘,如果没过去,可以从前一关开始,不用从第一关开始。另一些时候,在打BOSS之前会手动存盘,万一打BOSS失败了,可以重新直接打BOSS。Git就是这个思想。所以当文件改到一定程度的时候,一定要保存一个快照。
- 查看Git仓库提交
commit
历史
$ git log
note:显示由近及远的3次的提交历史详细信息
要显示精简信息,则使用
$ git log --pretty=oneline
输出显示一大串commit id
和自己添加的文字备注 - 回退到历史上某个版本
*note:HEAD
表示当前版本,上一个版本HEAD^
,上n个版本HEAD~n
*
返回上一个版本使用命令
$ git reset --hard HEAD^
返回特定的版本使用命令
$ git reset --hard commit id
note:commit id
没必要写全,前几位就可以,但也不能只写前一两位 - 找不到
commit id
时的解决办法
$ git reflog
note:此命令来记录你的每一次命令