git学习
学习git主要是通过廖雪峰网站上学习(http://www.liaoxuefeng.com)
一、git是什么
Git是目前世界上最先进的分布式版本控制系统
二、工作区与暂存区
- 工作区
就是你在电脑里能看到的目录,创建为仓库的文件夹就是一个工作区
- 版本库
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
三、一些常用的命令
关于 git init
- 这个命令就是将当前文件夹变成git可以管理的仓库
关于 git add <file>
- 这个命令就是告诉git把文件添加到仓库
- git add -A 提交所有变化
- git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
- git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
关于 git commit
- 这个命令就是告诉git把文件提交到仓库
- 一般使用为 git commit -m <> 后面写提交的信息
关于 git status
- 这个命令可以查看当前 git 的状态
关于 git diff <file>
- 这个命令可以查看文件做了哪些修改
关于 git log
- 这个命令可以命令显示从最近到最远的提交日志
- 如果如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:git log --pretty=oneline
关于 git reflog
- 这个命令可以用来查看命令历史以便确定要回到未来的哪个版本。
关于 git reset
- 这个命令用来回退版本
- Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
- 具体使用 git reset --hard HEAD^
关于 git checkout -- file
- 这个命令可以丢弃工作区的修改
关于 git rm file
- 这个命令从版本库中删除该文件
- 如果删错了,可以用 git checkout -- file恢复
关于 git clone
- 这个命令是将远程仓库克隆到本地仓库
关于分支
- git bush这个命令查看当前分支
- git bush <name> 表示创建某分支
- git checkout <name> 表示切换并切换到某分支
- git checkout -b <name> 表示创建某分支并切换到dev分支上
- git merge <name> 表示合并某分支到当前分支