您的位置:首页 > 编程语言

Github 创建自己的仓库、上传代码等操作及问题解决

2019-05-20 22:37 363 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/jedi1234567/article/details/90376573

大家好,笔者是北京某航空航天大学研究生一枚,目前在学习深度强化学习Deep Reinforcement Learning方向。开通此博客的主要目的是记录我的学习路线、学习过程中的心得体会,给后来的同学一个参考借鉴,同时与大家一起讨论问题共同进步!我的Github地址是https://github.com/lllloda 欢迎访问!

注:本篇文章在Ubuntu系统下使用命令行工具(终端Terminal)进行操作。

目录

0 前言

1 创建自己的仓库repository

2 本地仓库与Github仓库的连接

3 遇到的问题以及解决措施

3.1 私人仓库的master目录不接受任何push命令,即无法上传任何代码到master目录中

 3.2 无法上传大小超过100M的文件

0 前言

在有了自己开发的一些代码后,想必大家都很希望把自己的代码整理保存起来,那么GIthub就是一个很好的选择。同时Github的clone功能也能够很好地帮助正在学习的同学获得第一手可以跑通的代码。这可以大大促进学习的效率与学习的热情。(毕竟自己一个人自学时,无人可以讨论,再碰到代码跑不通,往往会抓狂以至于放弃。。。)

下面进入正题!

1 创建自己的仓库repository

笔者的系统为Ubuntu 18.04.1

首先在Ubuntu上安装Github的git工具,打开终端Terminal输入以下命令:

[code]sudo apt-get install git

安装完成后输入git,会出现以下画面,表示安装成功:

接下来进入Github官网,登录自己的账户,点击创建New repository,如下图所示:

 填写相关信息之后,即完成了创建:

创建完毕后,将该仓库下载到自己的电脑的文件夹中,在文件夹内打开终端Terminal,输入以下命令:

[code]git clone https://github.com/lllloda/Deep-Learning.git

其中,git clone后面的地址是该仓库的地址,这个地址在上图绿色按钮中可以点击进行复制,如下图:

 至此,就成功实现了在Github上创建仓库,并将内容下载到本地文件夹中。

接下来开始建立本地仓库与Github仓库的连接,以方便将本地仓库文件的更改,更新到GIthub仓库中。

2 本地仓库与Github仓库的连接

在本地仓库的文件夹内打开终端Terminal,即终端内显示的地址为本地仓库。

设置用户名和邮箱地址,在终端Terminal中输入如下代码:

[code]git config --global user.name "PiPiCai"
git conf
3ff7
ig --global user.email "xxxxxx@xxx.com"

初始化本地仓库,将当前目录变为本地仓库,需要在当前文件夹输入如下命令:

[code]git init

向仓库内添加文件a的命令为:

[code]git add a

其中,a为要添加的文件;

如果需要添加全部文件,则输入命令(注意空格):

[code]git add .

在首次使用时,还需要创建一个SSH Key,在终端中输入如下命令:

[code]ssh-keygen -t rsa -C "xxx@xxxx.com"

此命令会在Ubuntu主目录中,隐藏文件夹/.ssh(在主目录中按Control+H显示隐藏文件)内生成两个文件,id_rsa和id_rsa.pub。后者id_rsa.pub是我们需要的SSH Key,打开此文件并复制全部内容。

接着在Github网页上,打开个人设置,找到SSH and GPG keys

 点击右上角绿色的New SSH Key,起一个标题,并在下面的Key一栏内,粘贴刚刚复制的内容即可。

接下来就可以使用如下命令,将之前add过的文件,上传到Github的仓库中了:

[code]git push origin master

其中,master是仓库的主目录,也是创建仓库之后自然生成的一个目录。

3 遇到的问题以及解决措施

3.1 私人仓库的master目录不接受任何push命令,即无法上传任何代码到master目录中

解决这个问题的方法是:只需要建立一个分支branch,将自己的代码上传到创建的分支就可以了。

[code]git branch temporal

创建分支temporal

[code]git checkout temporal

切换到分支temporal

[code]git push -u origin temporal

将之前add的文件上传到temporal分支中

分支可以在Github页面仓库中找到,如下图所示:

 3.2 无法上传大小超过100M的文件

之前add的文件中,存在大小超过100M的文件时,在使用git push命令上传时会显示失败,如下图所示:

这是由于Github本身不支持大于100M的文件上传,当然有办法可以上传大文件。这需要额外安装一个软件,但是免费空间有限,可能需要付费使用。这里先继续讲解上传失败后怎么解决。

很直观地想法是把大文件删掉,剩下的文件就可以上传了。但在实际操作中,这样是行不通的,会仍然提示大文件超过100M。这是因为上一次的提交操作没有撤回。可以通过输入以下命令查看自己的操作记录:

[code]git log

那么要做的就是删除掉历史操作记录了,但是在网上找了好多命令,都没有效果。无奈只能曲线救国,找到了另一种方式(原博客地址https://www.jianshu.com/p/227ad77e0f0e)。

由于之前的上传一直是在一个branch中进行的,所以只要删除那个branch,重新创建一个branch,相对应的git log也就都清除了。最终使用以下命令,成功上传了代码。

创建临时分支:

[code]git checkout --orphan tmp

添加所需提交的文件(此处代码对应提交全部文件):

[code]git add .

添加commit信息(commit信息可以看做是一个版本控制,如果最新的代码出现问题,需要恢复到历史版本时,就可以根据commit来确定需要恢复到的版本):

[code]git commit -m "update 1"

删除原来提交失败的分支:

[code]git branch -D temporal

将之前临时创建的分支更名为原来分支的名字:

 

[code]git branch -m temporal

 此时即可提交代码了:

[code]git push -f origin temporal

 至此全部完成!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐