git初使用

项目管理切到git了,用起来总是不那么svn,好尴尬呀。

git参考手册:https://git-scm.com/book/zh/v1

windows下,

客户端下载地址:https://git-scm.com/downloads,我用的是Git-2.8.1-64-bit.exe

安装个图形界面sourcetree:https://www.sourcetreeapp.com/,我用的是SourceTreeSetup_1.8.3.exe

 

首先介绍几个概念:

  工作区,就是一个目录,你存放项目文件的地方

  版本库,工作区有一个隐藏目录.git,就是Git的版本库

  暂存区,版本库里一个重要部分stage

从一个在svn转过的人来看,这是git的精要,very important!!!

 

 

1. 随便找个空目录(C:\Users\du\Desktop\jdk1.8.0_65\gittest),试一下手git init

初始化gittest目录,创建了一个本地仓库,目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中

 

执行git status

2.创建README.xml, git add README.txt,把文件修改添加到暂存区,没有输出就是成功了

执行git status

3.git commit -m '我的新文件哦',把暂存区的所有内容提交到 版本库当前分支

查看状态:

4.git log,查看最近commit日志 

 

也可以git log --pretty=oneline,精简输出

 

5.为了展示我们强大的回退功能,在README.txt文件多次添加内容,并多次add commit,

 

准备回滚了,git reset --hard HEAD~1,回退一个版本

OK,成功!

 

变态,我又想回去,不回退了,可以么?答案当然是no problem,只要找到那次的commit id,就上面图中81开头的那个,不用写全,git能区分就行

git reset --hard 81bccb7

以上是提交版本库后,版本的回退

 

 

ps:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- {file}

一种是{file}自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是{file}已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,

  第一步用命令git reset HEAD {file},{file}从暂存区回到工作区,也就回到了场景1

  第二步按场景1操作

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考上面说的版本回退,不过前提是没有推送到远程库

 

 

参考文章:

1. Git教程

2. Git手册

 

posted @ 2016-05-03 14:41  未来的那啥  阅读(180)  评论(0编辑  收藏  举报