git简介及git安装/创建版本库

责编:menVScode 2018-02-25 23:21 阅读(897)

        Git 是将每个版本独立保存。

        你的本地仓库由工作区域暂存区域Git 仓库组成,这是 Git 的核心框架。

        工作区域(Working Directory)就是你平时存放项目代码的地方。

        暂存区域(Stage)用于临时存放你的改动,事实上它只是一个文件,保存即将提交的文件列表信息。

        Git 仓库(Repository)就是安全存放数据的位置,这里边有你提交的所有版本的数据。其中,HEAD 指向最新放入仓库的版本(这个Git 仓库确切的说,应该是 Git 仓库中 HEAD 指向的版本)。

QQ截图20180226002834

        Git 的工作流程一般是这样:

        1. 在工作目录中添加、修改文件;

        2. 将需要进行版本管理的文件放入暂存区域;命令:git add 文件名,回车后没有任何消息提示,代表正常。

        3. 将暂存区域的文件提交到 Git 仓库。命令:git commit -m "这是提交的描述"。

        因此,Git 管理的文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed),依次对应上边的每一个流程。

        有时你并不想把工作目录中所有的新功能都提交到最新版本,你就可以先添加一些本次需要提交的文件到暂存区,然后从暂存区中提交它们……所以暂存区在江湖中有个外号叫“索引”(Index)。


        Git官网:https://git-scm.com/

        Git下载地址:https://git-scm.com/download/win   本次下载的版本是 Git-2.14.2.2-64-bit.exe。

        安装

        点击安装包,一路“Next”默认安装即可。

QQ截图20180226000142

        初次使用Git前的配置

        成功安装完 Git 的第一件事儿就是让它知道主人是谁(用户名和邮箱)!这个操作非常重要,因为每一个 Git 的提交都会使用到这些信息,一旦确定不可更改。

        在命令行模式里输入以下命令:

> git config --global user.name "menvscode"
> git config --global user.email "menvscode@163.com"

        使用 git config --list 命令可以查看信息是否写入成功:

QQ截图20180226001257


        创建版本库

        什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录

        第二步,通过git init命令把这个目录变成Git可以管理的仓库:

git init
Initialized empty Git repository in E:/ECMAScript6课件/gittest/.git/

        瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository)。同时当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,否则就把Git仓库给破坏了。

        如果你没有看到.git目录,那是因为这个目录默认是隐藏的。

Linux:用 ls -ah 命令就可以看见。
Window:用 dir/a:h 命令就可以看见。

QQ截图20180226005753

        在版本库编写一个README.md文件,内容为:this is a big project!

        然后用命令git add告诉Git,把文件添加到暂存区域:

git add README.md

        执行上面的命令,没有任何显示,这就对了,说明添加成功。

        在然后用命令git commit告诉Git,把文件提交到Git仓库:

git commit -m "add a readme.md file"
[master (root-commit) 4b772e5] add a readme.md file
1 file changed, 1 insertion(+)

        简单解释一下git commit命令,-m 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。

        git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的README.md文件)。


        由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

        【1】创建SSH Key。在用户主目录下(C:\Users\wangzhencan\.ssh),看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "third_king@163.com"

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/wangzhencan/.ssh/id_rsa):
Created directory '/c/Users/wangzhencan/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/wangzhencan/.ssh/id_rsa.   // id_rsa 所在的目录
Your public key has been saved in /c/Users/wangzhencan/.ssh/id_rsa.pub.   // id_rsa.pub 所在的目录
The key fingerprint is:
SHA256:GE/SoF61yFNawhSWGBVaOF0oZF94GshE9xx/w9+K07E third_king@163.com
The key's randomart image is:
+---[RSA 2048]----+
|   =*X@BB        |
|   .BOB&.+ .     |
|    ooX+* . +    |
|   . ..B   . o . |
|    . . S     o .|
|             o + |
|            o E  |
|             .   |
|                 |
+----[SHA256]-----+

        你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

        如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

        登陆GitHub,打开“Account settings”,“SSH Keys”页面

QQ截图20180308105633

        然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

QQ截图20180308110103

        点“Add Key”,你就应该看到已经添加的Key。为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

        当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。


        小结

1. 初始化一个Git仓库,使用git init命令。

2. 添加文件到Git仓库,分两步:

    第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;如:git add file2.txt file3.txt

    第二步,使用命令git commit -m "描述",完成。


标签: Git
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码