O、 准备工作
- 安装git,如需GitHub客户端再装个客户端呗。
一、新建项目
登陆github
-
点击"+",点击" New repository".
-
新建项目
-
克隆项目到本地
将项目下载到本地
$ git clone + 项目地址
- 控制版本
//设置开发者名称
$ git config --global user.name + (开发者名称)
//设置开发者邮箱
$ git config --global user.email + (开发者邮箱)
//查看所有设置
$ git config --list
二、 Git常用命令
1、 个人基础操作命令
//查看当前状态
$ git status
//新增某个文件到暂存区
$ git add + (文件名)
//将暂存区的内容放入版本库(运行会弹出记事本,编辑将为操作添加注释)
$ git commit
//把修改的文件全部加入暂存区
$ git add.
//提交到版本库并加注释
$ git commit -m "注释(最好为英文)"
//直接从工作区提交到版本库,注意此处新增文件必须先执行add在执行commit,修改文件便可执行这句话
$ git commit -a -m "注释(最好为英文)"
//查看提交历史,回车查看更多,按“q”表示退出
$ git log
//△ 对比区间的差别
//(1)查看工作区与暂存区的区别
$ git diff
//(2)查看暂存区与版本库的区别
$ git diff --cached(--staged)
//(3)查看工作区与版本库的区别
$ git diff master
//△ 撤销操作
//(1)暂存区的文件撤回到上一个版本
$ git reset HEAD (+文件名)
//(2)工作区的文件回到暂存区的版本,若暂存区没有版本更改,则撤回到版本库的版本
$ git checkout("简写":-d) --(+文件名)
//(3)有漏提交的内容,撤回之前的操作,再将之前的提交与暂存区的修改一并提交到版本库
$ git commit -m "注释(最好为英文)" --amend
//△ 删除操作
//(1)假设工作区有文件删除,则暂存区对应的文件也删除
$ git rm (+文件名)
//(2)不管工作区的文件是否删除。删除暂存区和工作区的那个文件
$ git rm -f (+文件名)
//(3)不管工作区的文件是否删除。只删除暂存区中的文件
$ git rm --cached (+文件名)
//△ 恢复操作
//(1)查看历史操作对应的操作版本ID(复制ID的一部分)
$ git log
// (2)指定的文件恢复到某个版本的样子
$ git checkout +id +文件名
//(3)指定某个版本完全还原
$ git reset --hard +(部分)id
//(4)通过HEAD作指正还原,向上/向下版本还原
$ git reset --hard HEAD^//向上还原1个
$ git reset --hard HEAD~num//向上还原Num个
//(5)找到像恢复的版本id
$ git reflog
个人操作常用命令的例子展示
- 新增文件index.html
$ git status
- 将index.html新增到暂存区
$ git add index.html
- 将暂存区的内容提交到版本库
$ git commit -m "add index.html"
- 新增两个文件a.css和b.js并且一次性从工作区提交到暂存区
$ git add .
- 修改index.html文件,并一次性从工作区提交到版本库,提交过的文件为track状态才可进行跨区提交的操作
$ git commit -a -m "change index.html"
- 查看提交的历史
$ git log
- 修改index.html的内容,并查看与暂存区的区别
$ git diff
- 修改index.html的内容,并提交到暂存区,查看暂存区与版本库的区别
$ git diff --cached(--staged)
- 查看工作区区与版本库的区别
$ git diff master
- 将工作区的内容提交到暂存区,然后撤销此操作,将暂存区的内容恢复到上一个原先的版本
$ git reset HEAD index.html
- 不小心将index.html的代码删除,想要恢复成版本库的状态
$ git checkout -- index.html
- 修改了两个文件之后只提交了其中一个文件,那么将另一个文件提交到暂存区之后,执行下列的代码,就能撤销原始操作并将文件一并提交到版本库
$ git commit -m "commit again" --amend
13.工作区的文件删除,要删除暂存区的文件
$ git rm b.js
14.(1)不管工作区的文件是否删除,只删除暂存区中的文件
$ git rm -f a.css
![image.png](http://upload-images.jianshu.io/upload_images/4875803-a16a86116e493119.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(2)不管工作区的文件是否删除,删除暂存区和工作区的文件
$ git rm --cached index.html
15.将某个文件恢复到最后提交到版本库的版本
$ git checkout 1713bd2c0d5 b.js
16.工作区的文件情况还原到某个操作的版本
$ git log //找到对应的版本Id
$ git reset --hard d623b2090
17.通过HEAD指针还原版本
$ git reset --hard HEAD^ //还原1个
$ git reset --hard HEAD~2//还原两个
18.想还原到某个操作版本,可先查看所有版本的操作ID
$ git reflog
19.同步到远程仓库GitHub
$ git remote //查看当前仓库源
$ git remote -v//查看当前仓库地址
$ git push origin master //推送到远程仓库,如果此时为分支的话,master改为分支名