Github简易入门教程(1)

Github是一款非常受欢迎的分布式版本控制系统,用于管理文件的修改,而不是文件。本教程的内容是根据廖雪峰老师的教程总结简化而来,使用的系统是ubuntu16.04。
地址:[https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000]

创建工作区

工作区是用于存放文件的一个仓库,英文名为repository,该仓库内的所有文件都会被Git管理起来,文件的变动也都会被Git记录下来。
想要创建工作区,需要执行一下几个步骤:

1.创建一个空目录;
2.将该目录初始化为Git可以管理的工作区。

    $ mkdir learngit
    $ cd learngit
    $ git init  

第一行命令用于生成一个空的目录,第二行命令用于进入到该目录中,第三行命令用于讲该目录初始化为工作区,并生成一个名为.git的目录,该目录一般是隐藏的,使用 ls -ah 可以查看。
初始化成功之后,会显示一下提示:

    Initialized empty Git reposibatory in /(目录)/learngit/.git/

注意:不要手动修改.git目录中的文件,以免破坏Git仓库。

在有了“仓库”之后,我们便可以把需要进行管理的文件移入工作区中,这里也就是learngit目录下。

注意:在该目录之外的文件无法使用Git进行管理!

文件变动

1.提交
创建一个txt文件,并将其移动至版本库中。例如现在编写一个 readme.txt 文件,内容如下:

    Git is a version control system.
    Git is free software.

完成添加需要两个步骤:
(1)将文件添加到暂存区中。当存在多个需要提交的文件时,可以多次使用该命令;
(2)将暂存区内所有的文件,正式提交到版本库中。

    $ git add filename
    $ git commit -m "备注"

**注意:为了方便阅读,请务必不能省略 -m "备注" ,以添加该文件的备注。××

对于add和commit的理解可以参考下图:

使用git init时,目录被设置为工作空间,其中包括工作区以及版本库,而.git文件夹就是这个版本库,版本库内有两块区域,其中一块是暂存区,add命令则是将文件从工作区移入暂存区中,另一块是分支,commit命令则将暂存区中所有的文件移入到分支中。

注意:commit只会提交add后的文件,即暂存区内的文件,因此每次对文件修改后,必须使用add命令,才能保证修改能够被保存。

2.查看状态

    $ git status

使用该命令,可以查看文件修改情况,有无修改情况对应的显示情况是不同的。
当存在修改时,使用命令:

    $ git diff

可以详细查看哪个文件发生了变动以及它的变动情况。

注意:修改文件后的提交步骤同样分为两步,add和commit

3.版本切换
当一个文件多次被修改并提交后,每次提交的文件都可以看做时该文件的一个版本,这些版本都会被Git保留,因此我们可以选择这些版本中的任意一个,作为当前的版本。
所有版本的查看命令为:

    $ git log

显示的内容时由近及远所有的提交日志,以原教程中的日志为例:

    $ git log
    commit 3628164fb26d48395383f8f31179f24e0882e1e0
    Author: Michael Liao <askxuefeng@gmail.com>
    Date:   Tue Aug 20 15:11:49 2013 +0800

        append GPL

    commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
    Author: Michael Liao <askxuefeng@gmail.com>
    Date:   Tue Aug 20 14:53:12 2013 +0800

        add distributed

    commit cb926e7ea50ad11b8f9e909c05226233bf755030
    Author: Michael Liao <askxuefeng@gmail.com>
    Date:   Mon Aug 19 17:51:55 2013 +0800

        wrote a readme file

可以看出,该命令执行后,会显示日志的版本号(commit ID),作者,日期,以及文件名。要实现文件的切换,需要利用commit ID,命令格式如下:

    $ git reset --hard ID

其中ID表示commit ID,一般情况下该ID不需要写全。

注意:当无法找回一些文件时,使用命令:git reflog查看命令记录,可以找到所有文件的commit ID。

使用上述命令,可以在文件版本中任意切换,而使用以下命令可以完成快速回退的任务:

    $ git reset --hard HEAD^

其中,^的个数表示回退次数。

4.撤销修改
撤销修改有以下几种情况:
(1)需要修改工作区某个文件的内容:
此时使用命令:

    $ git checkout -- filename

使用后,工作区的文件将会撤销为最后一次git add或者git commit时的状态。

(2)需要修改暂存区某个文件的内容:
此时使用命令:

    $ git reset HEAD filename

使用后,暂存区内的文件将会被回退到工作区中,在工作区中执行第一种情况的命令,便可以撤销修改的内容。

注意:可以通过手动修改并添加到暂存区的方式,无法覆盖先前add的版本,因此有些错误需要进行撤销。

*5.删除文件
想要删除版本库中的文件,包括两个步骤:
(1)删除文件;
(2)提交日志。
命令如下:

    $ git rm filename
    $ git commit -m "备注"

根据上面的命令可以知道,添加和删除命令都需要进行commit操作。

若不小心误删除了某些文件,需要重新恢复时,直接使用以下命令来恢复该文件:

    $ git checkout -- filename

由此可知,checkout命令是将版本库中的文件恢复到工作区中,因此可用来恢复删除以及撤销操作。

注意:使用checkout恢复文件后,文件只能恢复到最近一次add或者commit的版本,最新的修改将无法恢复。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页