ubuntu16.04上传项目到自己的github
今天心血来潮,想把自己最近在做的那个简单项目利用tensorflow实现自己手写数字的检测上传到github上。废话不多说,开始。
第一步,配置好git与github仓库
1.由于我们是使用ubuntu16.04,git一般已经给我们装好了,如果没装好,就得安装:
sudo apt-get install git
2.配置ssh秘钥:
ssh-keygen -t rsa -C "自己的github邮箱"
然后会提示你key的保存地址,确定保存地址以后,还要输入这个文件夹的加密密码,可以随便写,但是两次的密码必须一样,而且你得记住,后面要用。
出现上面的image表示生生成key成功。
然后回到自己的key保存的目录(注意,这些文件夹是隐藏的,你必须先按Ctrl+h,显示隐藏目录),打开id_rsa.pub,里面就是自己生成的ssh keys,全部复制
打开自己的github,点击头像–>setting–>SSH and GPG keys–>new SSH key
把刚才复制的key填上去。
3.尝试连接github
ssh -T [email protected]
输入yes,显示如下说明成功连接。
4.配置自己的github 用户名与邮箱
使用命令:
git config --global user.name "用户名"
git config --global user.email 邮箱
这样就基本配置好自己的git与github的联系了。
第二步,在自己想要上传的文件里面初始化git仓库
1.进对应的目录
使用命令初始化仓库
git init
2.在github新建一个仓库,并添加远程访问
比如我的新建仓库名是:tensorflow-mnist-number-test
然后添加远程访问的仓库:
git remote add origin [email protected]:自己的github用户名/tensorflow-mnist-number-test.git
添加访问url:
git remote set-url origin [email protected]:自己的github用户名/tensorflow-mnist-number-test.git
第三步,上传项目文件
1.使用命令将文件提交到暂取区
git add 文件名
我这里使用逐个提交,也可以直接全部提交:git add .
将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
2.将这些文件全部提交到本地仓库
git commit -m "init"
git commit -m ‘注释’ 将缓存区内容添加到本地仓库
3 .将本地仓库内容添加上传到github,自己方才建立的远程仓库
命令:
git push -u origin master
命令注解:git push origin master 将本地版本库推送到远程服务器,
origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的
最后一步,打开自己的github,看一下项目是否被提交
发现,项目确实上传了!!!
出现的一些问题:
- error: src refspec master does not match any.
error: failed to push some refs 。。。。。
错误:SRC ReFSPEC主控器不匹配任何。
错误:未能将某些引用推到’git @ Github.com。。。。
原因:
1.可能是自己在github上修改了这个仓库里的文件,导致本地仓库没有远程仓库的一些文件。解决:在github上建立的仓库,别创建新的文件,等把自己的项目提交了在创建也不迟
2.本地仓库是空的。解决:在本地创建一个版本仓库时(即文件夹),通过git init把它变成Git仓库,要把项目复制到这个文件夹里面!
总结
- 安装git,配置用户名,邮箱,github的ssh keys
- 在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库
- 在Github上新建一个远程仓库,通过git remote add origin https://github.com/…将本地仓库和远程仓库进行关联
- 把项目文件复制到这个文件夹里面,再通过git add 把项目文件添加到本地仓库暂存区
- 再通过git commit -m "注释内容"把项目提交到本地仓库
- 最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)