Git 的入门教程<一>
1> 为什么要用git
git采用分布式框架,没有中央服务器,每人电脑上都一份单独的代码,单独的仓库,不需要联网,只是在有改动的时候,向对方进行推送一下,这样双方都能看到各自修改的代码了。
并且git相比于svn来说,比较安全,假如你的电脑硬盘坏掉了,此时在另一台电脑上只需从同事那里git pull 一下,就能拿到最新的代码。
那么同事之前如何进行协同办公的那?
ps: git的好处当然不止这些,下面会列出。
2> git 的协同办公
一般来说,git需要一台中央服务器,说是中央服务器,其实就是相当于你的另一个隐形的同事,因为万一如果哪天你的同事请假了,他的电脑关机,并且有密码,此事,你需要拿到他修改的代码,就没有办法了,所以,大家商量了一下,搞一台7*24小时不关机的服务器也就是那位隐形的同事,大家每次写完自己的功能之后,就像他提交自己的功能,以后不管谁请病假,或者是homework,只要这位隐形的同事在,就可以拿到最新的代码。
说了一些废话,下面进入正题,git 的使用。
3> git 的使用
3.1 git 的安装
首先说下window下的安装。
下载一个叫做msysgit的东西,msysgit 里面包括了一些列工具以及git需要的linux环境,全部打包好,只需要双击、下一步、下一步就行了。
安装好之后,打开终端,输入git
出现这样的画面,就表示安装成功。
之后还需要简单配置一下,鼠标右键,点击Git Bash,弹出
输入
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"
git config 是配置命令, --global是全局,就是本台机器上所有的git仓库都会使用这个配置。当然也可以指定某个仓库使用不同的配置。
linux下的安装:
如果使用Debian或Ubuntu Linux,通过一条sudo apt-get install git
就可以直接完成Git的安装,非常简单。
如果是别的Linux版本,可以通过源码安装。从Git官网下载源码,然后解压,依次输入:./config
,make
,sudo make install
这几个命令安装就好了。
3.2 git仓库的创建和提交
首先在新建一个文件夹,比如叫做git,进入文件夹,鼠标右键Git Bash
之后 输入
$ git init Initialized empty Git repository in e:/Git/.git/
就初始化了一个仓库,或者鼠标右键 Git Init Here
然后新建一个readme.txt,输入
git init here
保存。
此时 在窗口上输入
$ git status 查看当前本地的所有状态
提示说有一个未被提交的文件.
git add readme.txt git commit -m "readme.txt"
git add 将此文件增加到暂存区。
git commit 将文件从暂存区提交到本地仓库。
git 有个暂存区和仓库的概念,暂存区就是还没有提交,只是暂时增加到这里,并且可以撤销本次操作,减少了出错机会 ,下次commit之后,就会从暂存区提交到本地仓库,然后暂存区清空。
一不小心写了
my boss is stupid
并且提交到本地暂存区
git add readme.txt
此时提交到暂存区还没有提交到仓库,想要撤销的话,
git checkout -- readme.txt
git checkout --有两种用法
一种是readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态.
一种是readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态.
那么如果已经提交到本地仓库之后,我们应该如何做?
3.3 git仓库的回退和删除
如果此时已经提交了仓库了,但是突然记起自己写了不让boss看到的东西,该如何是好哪?
首先要查看下历史,看看之前都提交了什么内容
git log
然后看到之前提交的版本信息之后,在决定回溯到哪个版本
git reset --hard HEAD^
HEAD指的是当前的版本,HEAD^ 往前回溯一个版本,HEAD^^回溯两个版本,HEAD~100往前回溯100个版本
如果此时想要删除某一个文件,先从本地删除
rm readme.txt
删除之后查看状态
git status
发现本地有一个文件被删除,想要从版本库中删除的话
git rm readme.txt
如果此时想要恢复删除的内容
git checkout -- readme.txt