将项目推送到Github
首先,GitHub在2019年的新年福利,那就是GitHub的Free账户可以创建私有库。
2018 年 6 月,微软正式公开确认收购 GitHub 后,有一波开发者担心 GitHub 会被微软玩坏,于是从 GitHub 搬家到其他同类平台,当时那一波 GitLab 收割了很多新用户。
当地时间 2019 年 1 月 7 日(其实也就是今天),GitHub 被收购后新上任的 CEO 新上任的 CEO Nat Friedman 在 GitHub 官博发文,宣布了新年福利:GitHub Free(免费)账户可以创建私有库了!
所以这对我们这些开发者而言是非常好的一件事情。所以正是这样,我准备把自己的私有项目都放到GitHub上。本文主要介绍如何将本地项目推送到GitHub。
准备:
- 必须有GitHub账号
- 自己电脑上安装了Git
主要步骤:
在GitHub上创建一个私有仓库(repository)
这里我创建的是一个私有仓库,如果是想对外公开的项目就使用public
看到了吗?Github做的还是非常的人性化,将我们需要使用的命令都罗列了,上面提示已经很明显,所以这里我们把相关的内存复制出来:
a、新的一个仓库
echo "# test" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/xxxxxxx/test.git git push -u origin master
b、已经存在一个仓库
git remote add origin https://github.com/xxxxxxx/test.git git push -u origin master
上面给我们了两种推送的命令,其实这里就已经可以使用了。如果你是第一次使用git push,那么在推送的时候需要填写你Github的账号和密码。为什么需要账号和密码呢?从上面的命令中我们能看出,这里采用的https协议,所以需要使用账号和密码。这也是一种最简单的方式,初学者可以直接进行使用。除了使用https,那么Git还有一种ssh方式,下面我们先谈谈Git的https和ssh的区别。
HTTPS和SSH方式的区别
在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地。这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者。否则你是无法添加SSH key的,另外ssh默认是每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。
使用ssh方式
1、如果你安装了git,那么可以点击鼠标右键,会出现Git Bash Here,然后通过下面命令切换到用户根目录:
demo@DESKTOP-06Q5JL3 MINGW64 ~
$ cd ~
2、使用下面命令查看.ssh下面是否有相关文件:
demo@DESKTOP-06Q5JL3 MINGW64 ~
$ ll .ssh
total 13
-rw-r--r-- 1 zhj 197121 1679 8月 11 19:32 id_rsa
-rw-r--r-- 1 zhj 197121 396 8月 11 19:32 id_rsa.pub
-rw-r--r-- 1 zhj 197121 6853 2月 1 14:58 known_hosts
如果你跟我一样有的话,请跳过下面的步骤,如果没有,请创建一个SSH Key
3、创建SSH Key
ssh-keygen -t rsa -C "你的email地址"
代码参数含义:
-t:指定密钥类型,默认是rsa,可以省略
-C:设置注释文字,比如邮箱。
-f:指定密钥文件存储文件名
一路回车即可,生成后可以使用第2步的命令查看是否有相关文件
4、将SSH Key添加到GitHub上
首先将id_rsa.pub中的内容复制出来,然后再Github上点击头像–>Settings–>SSH and GPG keys–>New SSH key,进入后将复制的内容粘贴进去,再取一个名字保存即可。
以上配置好后,我们可以通过下面命令进行测试:
zhj@DESKTOP-06Q5JL3 MINGW64 ~
$ ssh -T git@github.com
Hi xxxxxxxxxx! You've successfully authenticated, but GitHub does not provide shell access.
如果提示successfully说明配置成功,那么后面我就可以使用ssh来进行推送项目了
a、新的一个仓库
echo "# test" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:xxxxxxx/hi_admin_web.git git push -u origin master
b、已经存在一个仓库
git remote add origin git@github.com:xxxxxxx/hi_admin_web.git git push -u origin master
以上就是记录了如何将项目推送的Github的整个过程。