上一篇我们知道了怎么在GitHub上创建自己的 repository 。但是 repository 是用来存放我们的项目代码的,这篇文章我就说说怎么把我们的项目代码上传到我们的GitHub仓库里面去。
Github在Mac、Windows、Linux这些主流的操作系统上面都可以使用,下面我就以Linux的Ubuntu系统作为例子来介绍把项目代码上传到Github仓库上的操作。
一、下载Git
打开Ubuntu终端,输入一下命令:
$ sudo apt-get install git
命令执行完 git 就安装到了你的Ubuntu上。
二、配置git
Git使用用户名将提交的代码和身份关联起来。这里的Git用户名和之前我们说的Github用户名可不是一回事哦。
你可以使用 git config 命令与你的提交相关联的用户名。你设置的新用户名在之后你在命令行push到Github的任何提交对别人都是可见的。所以说,如果你想让你的真名字不被别人知道,你可以用任何文本作为你的Git用户名。
使用git config 改变用户名之后只会对你改名之后的提交有影响,而你修改用户名之前的提交的用户名还是你以前的用户名。
1,为在你电脑上的所有仓库设置你的Git用户名(说明一下,这里的仓库和上一篇我们在GitHub上创建的仓库不是一个。你可以理解为在你电脑上的是本地仓库,而在Github上的为远端仓库)
打开Ubuntu终端在home目录下输入以下命令,设置Git用户名:
$ git config --global user.name “Mona Lisa”
确认设置的用户名是正确的:
$ git config --global user.name > Mona Lisa
2,为单个仓库(这时候先不要管怎么创建本地仓库)设置你的Git用户名
打开Ubuntu终端,进入到你想要配置的用户名的仓库目录中,执行:
$ git config user.name “Mona Lisa”
确认你设置的用户名:
$ git config user.name > Mona Lisa
注意:如果只设置了git用户名没有设置你的邮箱即使你创建了本地仓库,你也不能提交你的项目代码到你的本地仓库的,下面说一下设置邮箱。
设置邮箱方式和设置用户名方法大同小异
为你本地所有的仓库设置同一个邮箱:
$ git config –global email.name “email@example.com”
确认你设置的邮箱
$ git config --global user.email email@example.com
三、上传代码
1,为在你电脑上的本地仓库设置用户名和邮箱之后,你就可以创建你的本地仓库了。
进入到你想要用git管理的项目代码目录中,执行:
$ git init #初始化你的本地仓库
$ git add . #将你的项目代码(包括项目子目录里的代码)加入到你的本地仓库中
$ git commit -m “my frist repository” #提交项目代码到本地仓库中, -m 后是这次提交的备注(方便以后的查找)
$ git log (查看你提交的信息)
Note: 上面用 git 管理的你的项目源码目录 就是你的本地的一个仓库。你也可以创建多个本地仓库,创建方法同上。
好了, 现在我们就说说怎么把 你前面使用git管理的本地项目代码上传到你创建的github的仓库。
上传本地代码到github需要用到ssh服务,所以呢,我们需要先安装ssh服务
在终端执行:
$ sudo apt-get install openssh-server
然后查看ssh服务是否启动:
$sudo ps -e | grep ssh
如果输出有上图所示进程,说明ssh服务已经启动,如果没有启动,则执行:
$ sudo service ssh start
重启 ssh 服务。
2、安装了ssh服务后,我们需要生成一个 ssh key ,如果之前你已经安装了ssh服务,则需要检查一下,是否你之前已经生成了ssh key,执行:
$ ls -al ~/.ssh
如果出现类似这样的文件:
则说明你之前已经创建了ssh key了, 后缀不带.pub 的为私有ssh key,带.pub后缀的为公有ssh key. 如果你没有创建 ssh key,或者你不想用已有的ssh key,则需要新创建一个ssh key
执行:
$ ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
引号里面为你的邮箱名
生成一个以你的邮箱为标签的ssh key
Enter a file in which to save the key (/home/you/.ssh/id_rsa):
生成的ssh-key文件默认路径和文件名就是上面括号里面的内容,如果你想改变文件名则在后面输入新的文件名即可, 生成文件的路径也是你执行 ssh-keygen 命令时所在的目录。
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
输入两次你设置的密码,一次是设置,一次是确认。
3、添加你的ssh-key到ssh-agent
后台启动 ssh-gent
$ eval "$(ssh-agent -s)"
Agent pid 59566
添加一个私有ssh-key到ssh-agent,如果你创建的ssh-key不是默认的名字,或者你要添加一个之前已经有的ssh-key,只需要把下面的 id_rsa 替换成你的ssh-key文件名即可。
$ ssh-add ~/.ssh/id_rsa
4、添加一个新的ssh key到你的github账户里
复制 key ssh 到你的剪贴板
如果你的ssh key文件名同例子中的不同, 使用你的ssh key名字代替即可。注意,复制你的ssh key时, 不要多家空格或者新行。
$ sudo apt-get install xclip
\# 下载安装 xclip
$ xclip -sel clip < ~/.ssh/id_rsa.pub
\# 将 id_rsa.pub 的内容拷贝到剪贴板
注意:如果 xclip 不能用,则你可以使用系统自带的编辑器打开 ssh key 文件, 并将文件中的所有内容都拷贝到剪贴板上。
之后, 登录你的github账户, 在右上角点击你的简介照片,然后选择 setting:
在用户设置栏中,点击 SSH and GPG keys。
然后,点击 New SSH key 或者 Add SSH key。
在 “Title” 区域,添加对新 ssh key 的描述信息。
把之前复制的 ssh key,粘贴到 “key” 区域。
点击 Add SSH key。
如果提示,确认你的Github密码。输入之后,点确认即可。
然后,在Ubuntu系统的终端用ssh命令访问一下github:
$ ssh -T git@github.com
执行后如果提示如下,则说明前面的配置没有问题,下面就可以直接使用 git 命令提交你的代码到 github 的代码仓库了。
Hi github! You've successfully authenticated, but GitHub does not provide shell access.
5、把你的代码提交的github
进入到你之前用git管理的本地项目代码的目录,执行:
$ git remote add origin git@github.com:yourgithubname/yourrepositoryname
origin 后面的内容,就是你的github账户创建仓库地址,如图:
然后,再执行:
$ git push -u origin master
执行之后,你的本地项目代码就被上传到你的之前创建的github仓库中去了。
这一篇我们主要是说了怎么把本地我们写的项目代码, 上传到我们的github仓库里面。下一篇也是最后一篇,我会和大家一起看一下github其他的功能和git的一下常用命令。
如果伙计们喜欢我写的,也可以微信搜索公众号: 学吧程序员 关注我的公众号哦^^