在工作学习中,我们经常会收集一些小的demo或是自己练习写作的小脚本,但是保存在自己的电脑上会很混乱,而且有不方便查看历史版本、放假回家换了个电脑就无法继续编辑等弊端,不如用项目管理软件来管理,GitHub就是这样的一个平台,开源且免费。
GitHub与Git
- Git是一种分布式版本控制系统,与svn是同样的概念。
- GitHub是一个网站,提供Git服务。
托管GitHub有两种方式:
- 使用GitHub提供的桌面版https://desktop.github.com/
- Git bach命令行,建议直接使用命令行,无需安装桌面版。
安装并配置Git,建立与GitHub的连接
1. 下载git并安装,选择windows, https://www.git-scm.com/download/,步骤省略,和别的软件一样一路next安装即可,然后把git安装路径加入环境变量便于后续使用,git bash如图下所示。
![f8172db9312d972bb5cfaa776d20cdbe.png](https://img-blog.csdnimg.cn/img_convert/f8172db9312d972bb5cfaa776d20cdbe.png)
2. 创建GitHub账号:https://github.com/
3. 配置Git, 因为git本地仓库和GitHub之间是通过SSH加密传输的,GitHub只有识别了你的公钥,才能确认是你在推送,所以要配置ssh key。
(1)打开git bash,输入命令,创建ssh key。
$ ssh-keygen -t rsa -C "aaa@hotmail.com" //aaa@hotmail.com 是你自己注册GitHub的邮箱
![b41a41b33f6d26e7cf16fbf9be0e38cd.png](https://img-blog.csdnimg.cn/img_convert/b41a41b33f6d26e7cf16fbf9be0e38cd.png)
如图所示目录中(c/Users/addie)找到.ssh文件夹,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以公开。
(2)用notepad++打开id_rsa.pub。来到GitHub上,打开“Account settings”–“SSH Keys”页面,然后点击“Add SSH Key”,填上Title(随意写),在Key文本框里粘贴 id_rsa.pub文件里的全部内容。
![7cd0865ae4e7b4bee94c295ecfd41e30.png](https://img-blog.csdnimg.cn/img_convert/7cd0865ae4e7b4bee94c295ecfd41e30.png)
在git bash输入如下命令验证是否成功
$ ssh -T git@github.com
![2033b06e71aa3f806f64b35c95e30bf6.png](https://img-blog.csdnimg.cn/img_convert/2033b06e71aa3f806f64b35c95e30bf6.png)
出现Hi Addiefly! You've successfully authenticated, but GitHub does not provide shell access.说明已经成功连接GitHub。
(3)注册username 和email
$ git config --global user.name "name"//你的GitHub登陆名
$ git config --global user.email "aaa@hotmail.com"//你的GitHub注册邮箱
$ git config --list //查看配置
![9c1d11b1267fb15e1f5cdecdec8f1fbc.png](https://img-blog.csdnimg.cn/img_convert/9c1d11b1267fb15e1f5cdecdec8f1fbc.png)
Git上传本地工程到GitHub实现步骤
(1)在GitHub上创建一个代码仓库create a new respository
![e911dbc158fdc50c8936de143bf72a71.png](https://img-blog.csdnimg.cn/img_convert/e911dbc158fdc50c8936de143bf72a71.png)
(2)点击创建的仓库链接,会发现github有详细的指导命令
![756e810acd763d4b2afafee8b46d0d46.png](https://img-blog.csdnimg.cn/img_convert/756e810acd763d4b2afafee8b46d0d46.png)
![19dc48847f3d31c0e817479cc0e6e0c0.png](https://img-blog.csdnimg.cn/img_convert/19dc48847f3d31c0e817479cc0e6e0c0.png)
在D:04_code创建文件夹leetcode作为本地库,并在此处右键点击git bash here
echo "# leetcode" >> README.md // 创建README.md文件
$ git init //初始化本地库
$ git add README.md //将需要push到远端仓库的文件添加到本地仓库
$ git commit -m ‘first commmit’ //commit,-m表示注释,’ first commmit’为注释内容
$ git remote add origin https://github.com/Addiefly/leetcode.git
$ git remote -v //查看本地的仓库链接
$ git push -u origin master将本地仓库push到远程仓库
![4a6999f9ff77a6f18a56d68130028a31.png](https://img-blog.csdnimg.cn/img_convert/4a6999f9ff77a6f18a56d68130028a31.png)
可以看到README.md已经被push到远端仓库了
![3d6076b7c6dfa6fe5f3ff7cfa1286ef6.png](https://img-blog.csdnimg.cn/img_convert/3d6076b7c6dfa6fe5f3ff7cfa1286ef6.png)