Git学习

首先,教程在这里,只是自己手动做一遍:http://www.liaoxuefeng.com/

1.安装,Windows版本选择:

http://msysgit.github.io/

安装结束后:

选择:GitBash,设定用户名和密码:

完成安装。

2.创建版本库

mkdir 创建版本库 cd 使用这个路径 pwd显示这个路径

git init:初始化版本库,这样就建立好了空的git仓库。

 

3.在learngit下,创建一个/多个文件,写一些内容,我创建了两个文本文件,然后添加进入仓库,需要2步

a.add进仓库。

b.commit进仓库,并添加注释。

 

现在,content1内容为:Today is sunday.修改一下其中的内容。运行

git status

可以看到,content1.txt被修改过了。但是还没有commit,查看两次content的区别,使用命令

git diff

红色代表以亲的内容,绿色代表之后的内容。

现在我们知道了他的变化,就可以1.add 2.comit+注释(变化)

 

4.查看版本历史,历史回退等功能

查看版本历史:git log

现在能看见修改日期与修改注释(可以看出注释很重要)。提交编号为避免重复,生成了长串sha1内容。另外,版本显示是由近及远的。

现在,进行版本回退

当前版本用:HEAD表示,上一个版本为HEAD^,两个版本为HEAD^^,前100个版本为HEAD~100。

版本回退 git reset

回归到了上一个版本,I wanna have a cup of coffee已经消失。

查看文件: cat,和linux一样。

后悔了怎么办?先查看git log日志

现在第二个日志记录已经消失了。

我们需要找到commit id(即sha1号码),使用

git reflog

可以看到当时的commit id前几位,使用这个id来做恢复。使用

git reset --hard id来恢复

这样,数据就恢复了。

 我们在提交更新时又2个步骤

add->commit,add实际上是将改动提交至一个暂存区,commit才会存储至改动中。

现在修改content1,我添加了一句:another cup of coffee,提示content1 modified,暂时不提交

再,打开文本文档,添加一句again,不add而直接commit

这样,等于说第一次add进入了暂存区,第二次修改没有add进暂存区,第二次commit后只有第一次的修改进入了工作区。

使用git diff head -- content1.txt 查看版本库和实际内容的区别

第二次修改的Again没有在版本库中。

5.撤销修改

我们在编辑了文档后,尚未提交,这样可以使用撤销修改。

现在添加了一句:my stupid boss still prefer SVN.

尚未,提交add、commit后,我们可以看到

use git checkout -- <file> to discard changes in the working directory

命令:git checkout -- content1.txt

这样可以撤销修改,回归到文本文件中

cat content1.txt看看,my stupid boss已经没了。当然,如果已经add/commit了,就需要使用版本回退。

删除文件

使用文件管理器或者直接remove后,使用git status查看工作区和实际文件之间的差别

如果要彻底清空这个文件

使用git rm filename->git commit -m "注释"完成删除

如果要恢复这个文件

使用git checkout -m filename

6.使用Git与GitHub通信

首先。。github在天朝是不稳定的,10分钟前无法显示,10分钟后可能就好了。。

其次,Github是免费的,也可以收费

再次,免费版的Github是开放的

注册账号,-〉Setting->SSH Keys,添加一个SSH Key

这个key在系统、当前用户下.ssh文件中,有一个id_rsa.pub的文件,使用记事本打开考进去就行了,title随便填写。

如果.ssh不存在,那就生成一个。使用ssh-keygen -t rsa -C "emailaddress"

7.添加远程库

右上角-〉加号-〉new repository

成功后,它提供了一个链接,使用这个链接连接至本地库,同步上去

使用命令:

git push origin master更新本地库,后

注意:第一次链接的时候会有一个警告信息,输入yes添加至信任列表即可。

占位

posted @ 2014-11-15 09:34  valentine is me  阅读(169)  评论(0编辑  收藏  举报