Git是目前世界上最先进的分布式版本控制系统。
一,创建
安装完成后,在开始菜单里面找到“Git”->“Git bash”,蹦出一个类似命令行敞口的东西,说明Git安装成功。
设置你的名字和邮箱地址:
$ git config --global user.name "Zhao liu"
$ git config --global user.email"734@qq.com"
注意命令git config的--global参数,用了这个参数表示你的这台机器上所有的Git仓库都会使用这个配置。
1、创建一个版本库。首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit
$ cd learngit
$ pwd
/user/wp734/learngit
pwd命令用于显示当前目录。
2、通过命令git init把这个目录变成Git可以管理的仓库。
$ git init
Initialized empty Git repository in/Users/wp734/learngit/.git
这样Git就把仓库建好了。
二,使用
编写一个readme.txt文件。放到learngit目录下(子目录下也行)
$ git add readme.txt $ git commit -m"wrote a readme file"
-m后面输入的是本次提交的说明(尽量写入有意义的内容)。
$ git status
git status命令可以让我们时刻掌握仓库当前的状态。
$ git diff readme.txt
查看difference(现有文件和缓存区)。
$ git log
git log命令显示从最近到最远的提交日志,如果嫌输出信息太多,可是加上--pretty=oneline参数
$ git log --pretty=oneline
三、时光穿梭机
如果想要退回到上个版本,首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本。上一个版本是HEAD^,上上一个版本就是HEAD^^,往上100个版本是HEAD~100。
我们想把当前版本退回到上一个版本,可以使用命令git reset:
$ git reset --hard HEAD^
查看内容:
$ cat readme.txt Git is a distributed version control system. Git is free software.
如果你想再找到一开始的文件,只要上面的命令行窗口还没关,就可以:
$ git reset --hard 1094a
知道版本号就可以找到。
如果你回退到某个版本,关掉了电脑,第二天怎么找到新版本呢?可以用git reflog查找你的每一次命令记录
$ git reflog
四、撤销修改和删除文件
如果你在工作区添加了一句stupid的话,想删除。可以用:
$ git checkout -- readme.txt
这个命令的意思是把文件在工作区的修改全部撤销,有两种情况:
1)、一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
2)、一种是已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
如果你写了一些胡话,并且git add到了暂存区,但是没有git commit,可以:
$ git reset HEAD readme.txt $ git checkout -- readme.txt
用命令git reset HEAD<file>,可以把暂存区的修改撤销掉(unstage),重新放回工作区。
在Git中,删除也是一个修改操作。我们先添加一个新文件test.txt到Git并且提交:
$ git add test.txt $ git commit -m "add test.txt"
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:
$ rm test.txt
1)、确实要从版本库中删除该文件
$ git rm test.txt rm 'test.txt' $ git commit -m"remove test.txt"
2)、删错了,版本库中还有
$ git checkout -- test.txt
git checkout 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
五、创建Github与Git连接
第一步:创建SSH KEY
打开Git bash,创建SSH Key:
$ ssh-keygen -t rsa -C"7342@qq.com"
然后一路回车,默认值,无需密码。主目录里有.ssh目录,其中id_rsa是密钥,id_rsa.pub是公钥。
第二步:登陆Git hub,打开Account settings,在SSH Keys界面
点Add SSH Key,填上任意Title,在key文本框里粘贴id_rsa.pub文件的内容。
测试SSH Key是否成功,使用命令
$ ssh -T git@github.com
出现You`ve successfully authenticated,but Github does not provide shell access.说明成功。