您的位置:首页 > 运维架构 > Linux

【Linux 学习笔记】戏说Git (上)

2016-05-10 15:18 288 查看
本文为《廖雪峰Git教程》学习笔记,原地址:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
萌新入门,略有心得,戏说一番。

本章包括两部分内容,

1. git 本地库中文件的添加和提交;

2. 连接github 添加远程库

先来个正版概念镇个贴:

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

假设,

我是一个单机游戏爱好者(好吧这不是假设。。)

那么Git 就可以理解为存档的文件夹“save”

你每个游戏进度的存档就可以理解为程序每个不同的版本

Git负责把这些乱七八糟的存档文件管理起来

安装

在linux中,可以直接输入git查看是否安装

若是没有安装,它会弹出提示你输入:

sudo apt-get install git

创建版本库:

$ mkdir learngit // 创建一个目录 作为版本库

$ cd learngit // 跳转到该目录下

$ git init // 对该目录进行初始化,目录下会多出一个.git 文件

现在就可以把 learngit 文件夹 作为一个版本库来用了。

接下来,我们开始向版本库里写文件。

在当前目录learngit中,创建一个GGS.txt 文件,内容为:

Good good study !!

现在库中多了一个文件,git 已经意识到,我们利用如下命令检查一下当前git 的状态:

$ git status



此时的状态可以理解为git 意识到版本库中文件发生了改变。

接下来有两步操作:

第一步,add,键入:

git add GGS.txt

回车后我们发现没有任何反应,没有任何反应就是最好的反应,代表add成功。

git status 查看一下状态



这里看到add成功,文件名变成了绿色。

此时文件进入了暂存区,并没有提交到版本库中。

第二步,commit,提交,键入:

git commit -m " add GGS.txt" // 这里-m“..." 表示添加版本修改注释,引号中写当前版本做了哪些修改,方便管理。

如此,GGS.txt 文件就提交到了库中。

前面提到了暂存区,进行add 操作之后,文件会进入暂存区,可以理解为待上传的队列,我有一批修改的文件等待commit,于是我们把他们放在一起,最后提交。

小结,

将文件提交到版本库中:

先add, 再commit。

那么如何实现远程仓库和本地仓库的同步呢?

接下来说一说,github 的生存向用法。

首先注册账号,进入到设置页面:

settings ---> Personal Settings ---> SSH and GPG keys ---> new SSH key

Title 随便写一个 比如 my ssh key

key的填写:

回到Linux的主目录下,找找看有没有 .ssh 文件夹

$ cd /home/recycle // recycle 是系统用户名

$ ls -al



如果没有就进行创建:

$ ssh-keygen -t rsa -C "youremail@example.com"
// 引号中填写邮箱

可以不用设置密码,一路回车

这是你有了 .ssh 文件夹,打开它,里面有两个文件



这俩文件就是ssh key的密钥对

id_rsa 是私钥 不能泄露出去

id_rsa.pub 是公钥,可以放心地告诉任何人

打开公钥 id_rsa.pub 将其内容复制进,github网页里的my ssh key中,确认提交。

这样,github里的账户就有了你本地计算机的钥匙,可以自由出入,上传下载数据了。

接下来实验如何添加远程库

进入github 网页



回到本地的仓库,

$ git remote add origin git@github.com:wly95/testing.git

这里origin是远程库的名字,可以改为其他,习惯用origin

wly95 是我的github 用户名

testing.git 是刚建立的 repository

上传:

$ git push -u origin master

第一次进行这样的操作时,会出现ssh警告,确认你的身份,键入yes,就可以了。



进入网页就可以看到,在testing中,有着与本地仓库一样的文件,上传成功。

下载(克隆)

$ git clone git@github.com:wly95/testing.git

之后会在当前目录中多处一个testing 目录,打开之后:



基础命令总结:

$ git init // 初始化git 仓库

$ git add xxx.xxx // 添加文件进入队列(暂存区)

$ git commit -m "xxxxxxx" // 提交当前暂存区内容进入仓库

$ git remote add origin git@github.com:username/gitname.git
// 建立本地与远程仓库的关联

$ git push origin master // 本地库所有内容上传到远程库

$ git clone git@github.com:username/gitname.git
// 下载(克隆)远程库内容到本地
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: