1. 安装好git需要做的事情
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
其他参数
–local:只对某个仓库有效
–global:对当前用户的所有仓库有效
–system:对系统登录的所有用户有效
2. 初始化创建版本库
$ git init
在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.repo文件夹下新建readme.txt作为下一步需要操作的文件
3. 将文件添加到仓库
$ git add readme.txt
4. 将文件提交到仓库
$ git commit -m "wrote a readme file"
用命令git commit告诉Git,把文件提交到仓库。简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
5. 查看当前仓库状态
$ git status
git status命令可以让我们时刻掌握仓库当前的状态,
6. 查看做出的修改
$ git diff readme.txt
git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了
7. 查看历史记录
$ git log
git log命令显示从最近到最远的提交日志,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数.
8. 版本回退
$ git reset --hard HEAD^
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
9. 回退记录
$ git reflog
git reflog 用来记录回退的记录,以便之后可以重返未来
10. 撤销修改
$ git checkout -- readme.txt
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令
$ git reset HEAD readme.txt
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
小结:场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
11. 删除
当在本地中删除了文件,这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,使用git status命令会立刻告诉你哪些文件被删除了。
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
$ git rm readme.txt
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
本地暂时先记这么多,远程仓库之后补充