刚进入小组时,学长帮我注册创建了很多东西,当时看的时候完全看不懂,这是啥啊?后来有一次讲座
讲了git的使用方法,其实还是有点不清楚git到底是干嘛用的,怎么用git,现在再看廖雪峰老师的git教
程,把其中一些关键的命令,和使用方法记录下来
1.安装git
这个就比较简单了,先在终端下术输入git,检测一下自己的系统中有没有安装git
$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
如果没有安装的话就会出现上面的提示信息,不要慌,如果你是Debian或Ubuntu系统的话,在终端输入
sudo apt-get install git
这条命令就会自动安装啦,安装过程会很快的,马上就能使用git了,想想还有些小激动呢
2.创建版本库
版本库又名仓库,可以简单的理解成一个目录,这个目录中的所有文件都被git管理起来
第一步:
找一个合适的地方,创建一个空目录
$ mkdir code
$ cd code
$ pwd
/Users/michael/code
这样一个仓库就创建好啦,pwd命令用于显示当前目录
第二步:
我们只是创建了一个空目录准备作为我们保存文件的仓库,现在它和其他目录都一样,但是我们的目的
是要把让它可以被git 管理那该怎么办呢?没关系,我们通过git init这个命令把这个目录变成git可以管理
的仓库
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
这下我们就把git的仓库建好啦,当前目录下会多一个.git的目录,没事儿千万不要修改这个目录里的文
件,如果该乱了,就把git仓库给破坏了
第三步:
仓库创建好了自然要在里面放东西,我们现在写一个test.txt文件里面的内容可以按照自己喜欢的随便写,
这里只是为了在下面修改时候查看修改信息方便才写入内容的,现在我们编写一个test.txt的文件
里面的内容如下
Hello,word!
Hello,Git!
接下来用命令git add告诉git,把文件添加到仓库:
git add test.txt
然后用命令git commit告诉git,把文件提交给仓库
git commit -m"write a test file"
执行以后会提示以下信息
这个提示信息的意思是:1个文件被改动(新添加的test.txt),插入两行内容(test.txt里面的两行内容)
-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里
方便地找到改动记录。
commit可以一次提交很多文件,所以你可以多次add不同文件
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
这样就能一次提交多个文件啦
时光机穿梭
我们已经创建一个文件了,接下来我们将文件内容改动一下:
Hello,a beautiful world!
Hello,Git!
然后我们可以运行 git status命令查看结果
git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没
有准备提交的修改。
如果我们想查看具体修改了什么内荣改怎么办呢,我们可以使用git diff这个命令来查看:
从上面的描述中我们可以看到第一行添加了2个单词 a beautiful
确认修改无误后,我们就可以按照上面提到的两个步骤 git add 和git commit来把修改后的文件添加提交给
仓库
远程仓库
在这里就直接提出来Github这个东东,Github这个网站就是提供Git仓库托管服务的,所以我们可以注册
Github账号然后和自己本地的git仓库连接起来,就可以把自己本地的git仓库里的文件传到Github上了,
Github就是一个远程仓库,这样就使得我们的文件更安全了,不容易丢失
由于本地Git仓库和Github仓库之间传输是通过SSH加密的,所以需要一点设置:
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell,创建SSH
Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮箱地址换成你自己的邮箱地址,然后一路回车,使用默认值即可,由于这个key也不是用于军
事目的,所以也无需设置密码
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是
SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充
的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
添加远程库
你现在已经在本地创建了一个Git仓库后,又想在Github上创建一个Git仓库,并且让这两个 仓库进行远程
同步,那我们就这么做
首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:
在Repository name填入code,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新
的Git仓库:
目前,在GitHub上的这个code仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也
可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:
$ git remote add origin git@github.com:xxxxxxxx/code.git
把上面的xxxxxxxx替换成你自己的GitHub账户名
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知
道是远程库。
下一步,就可以把本地库的所有内容推送到远程库上:
$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 13.73 KiB, done.
Total 23 (delta 6), reused 0 (delta 0)
To git@github.xxxxxxxx/learngit.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推
送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉
取时就可以简化命令。
使用过 -u以后,只要在本地做了提交,就可以通过命令
$ git push origin
把本地仓库文件上传到github上了
小结:以上是git以及github的一些简单用法,这些是我在学习廖雪峰老师的Git教程中记录下来的笔记,
适合初学者快速学会使用git和github(主要是把自己的代码或者文件上传到github 上),git还有其他很多
用法以及教程都可以在廖雪峰老师的个人官网上学习,个人感觉廖雪峰老师的Git教程分成一个一个小节
每一节不是很长,所以让人感觉可以用很少的时间,学到每一节的小知识点或者命令,而且里面还有视
频教程,很是受用,所以想进一步了解学习的话,可以到廖雪峰老师的官网上看一下
廖雪峰的官方网站-Git教程地址:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/