(1)Git 是什么?
linus 使用C语言编写的一个分布式版本控制系统
(2)GitHub是什么?
2008年GitHub网站上线,是一个可以提供免费的代码托管平台
repository:可以简单的理解成一个目录,这个目录中的所有文件都可以被Git管理起来,每个文件的修改、删除,Git 都可以去追踪,以便任何时候都可以追踪历史,或者在将来某个时刻可以还原。
(3)GitHub的使用
linux主机本地的操作
Git可以使用在windows linux 和 mac 上
这里主要记录Git 怎样在linux上使用
a:安装Git
在linux 命令行使用git 命令查看linux 主机是否已经安装了git。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
root@dashazi:/mygit# git usage: git [--version] [--help] [-C <path>] [-c name=value] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p|--paginate|--no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] <command> [<args>]
b:选择一个合适的地方,创建一个空目录
我的仓库在/mygit
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
mkdir mygit cd mygit pwd /mygit
c:将目录变为一个可管理的仓库
通过git init 命令把这个目录变成Git可以管理的仓库
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
root@dashazi:~/mygit# git init Initialized empty Git repository in /mygit/.git/
这样我们就把Git仓库建好了,通过ls -ah 命令可以发现该目录下有.git的目录,这个目录是Git来跟踪和管理本库的,不要手动去修改这个目录里面的文件。
d:添加文件到git 仓库
第一步 使用命令git add file,可以反复多次使用,添加多个文件;
第二步 使用命令git commit ,完成。
注意:git commit 命令,-m后面输入的是本次提交的说明,可以输入任意内容,但最好是有意义的。
总结
初始化一个Git 仓库,使用 git init 命令。
添加文件到Git仓库,分为两步:
* 第一步: 使用命令 git add <file>,注意,可以反复多次使用,添加多个文件。
* 第二步: 使用命令 git commit,完成。
在GitHub上的操作
介绍:GitHub 网站主要是提供Git仓库托管服务的,所以只要注册一个GitHub账号,就可以免费获得Git远程仓库。本地Git仓库和GitHub仓库之间是通过SSH加密的,所以需要一点设置;
a:创建SSH Key .
在当前登录用户下~,查看是否有id_rsa 和 id_rsa.pub 这两个文件,如果已经有了,就忽略步骤a ,没有则输入如下命令生成密钥对:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
ssh-keygen -t rsa -C "youremail@example.com"
邮件地址使用注册GitHub 中的邮箱地址,然后一路回车,全部使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
完成以后可以在用户目录中找到.ssh 目录,里面有id_rea 和 id_rsa.pub两个文件,这两个文件就是密钥对。id_rea 是私钥,id_rsa.pub是公钥
b:将公钥添加到GitHub 上
登陆GitHub ,打开“settings”, "SSH Keys" 页面
然后,点Add ,填写任意Title,在Key 文本框中粘贴id_rea.pub 文件的内容
c:在GitHub上创建一个仓库
目前,在GitHub上创建的仓库还是空的,GitHub告诉我们可以克隆出新的仓库,也可以把一个已经有的本地仓库与之关联,然后把本地仓库内容推送到GitHub仓库。
d:本地仓库与GitHub 仓库连接
在本地的例如我自己(/mygit)下运行命令
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
git remote add origin https://github.com/zcmdxj/mygit.git
git remote add origin +创建库的https路径,这里的https路径是刚刚c中创建仓库后GitHub显示的路径。origin代表添加后远程库的名字就是origin
e:本地库内容推送到远程库
git push 命令
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
git push -u origin master
把本地的内容推送到远程,用git push 命令,实际上是把当前的master推送到远程。
由于远程库是空的,我们第一次推送master 分支时,加上了-u 参数,Git不会把本地的master分支内容推送到远程新的master分支,而且会把本地的master分支与远程的master 分支关联起来,在以后的推送或者拉取时可以简化命令。
f:以后推送代码的操作
*****在本地做了提交以后(git add ...... git commit....)
然后通过命令 (git push origin master )把本地分支最新修改推送至GitHub。