本文只做简单指令总结
声明:本文大部分摘自廖雪峰老师的git教程,个人只是做了部分总结。
一、 git在windows下的安装
从https://git-for-windows.github.io下载(网速慢的同学请移步国内镜像),然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
**
二、 git简单指令
- 创建git目录
$ mkdir mygit
$ cd mygit
- 把mygit变成可以版本控制的git仓库
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
添加文件到Git仓库,分两步:
使用命令git add <file>,注意,可反复多次使用,添加多个文件; 使用命令git commit,完成。
掌握工作区的状态
使用git status命令,如果git status告诉你有文件被修改过,用git diff可以查看修改内容。版本回退
回退到上一个版本—-git reset -hard HEAD^ 其中HEAD指向当前版本,HEAD^ 指向上一个版本
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。工作区和暂存区
工作区—–被init的工作目录 比如我的mygit
暂缓区—–工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
git add—实际上就是把文件修改添加到暂存区
git commit —实际上就是把暂存区的所有内容提交到当前分支
暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。
SO:每次修改,如果不add到暂存区,那就不会加入到commit中管理修改
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区(注意是工作区)的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。
但如果想撤销add到暂缓区的内容,可以用 :git reset HEAD file
“`
$ git reset HEAD readme.txt
Unstaged changes after reset:
M readme.txtgit reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
最后再清楚工作区的内容即可:git checkout – readme.txt删除文件
如果你在git工作区用rm指令删除一个文件,会导致和版本库版本不一致,用git status能查看到删除的文件 这时候用git rm可以删除版本库保持一致性,最好git commit
如果发现误删了文件,可以使用git checkout -readme.txt一键恢复