自2013年开始,作者的代码基本是分享到CSDN下载区,最早设置均是免费的,但随着下载量增加,分数自动增长。为了更好地分享开源代码及相关工具,赶上时代潮流,作者后续会将代码分享至Github和CSDN。本篇文章详细介绍了本地项目如何上传到Github,总结了相关经验。非常基础的文章,希望对读者有所帮助,尤其是初学者。
第一步:打开Github网址(https://github.com),并进行注册,登陆之后的首页如下图所示。
第二步:点击“Start a project”或右上角“New repository”新建工程。
第三步:设置工程的名称和简介,这里作者将“网络安全自学基础专栏”设置为“NetworkSecuritySelf-study”,点击“create repository”创建仓库。
第四步:创建之后如下图所示。
https://github.com/eastmountyxz/NetworkSecuritySelf-study
第一步:去到官网下载Git工具。(https://gitforwindows.org)
第二步:安装Git软件。
第三步:运行Git Bash,如下图所示。输入用户名和注册邮箱。
核心命令
$ git config --global user.name "user.name"
$ git config --global user.email "[email protected]"
第四步:查看是否存在 .ssh 文件夹和密钥。如果文件不存在,需要重新创建,如下图所示,创建新的ssh keys,否则git不能上传文件。
核心命令
$ cd ~/.ssh
$ git --version
$ ssh-keygen -t rsa -C "[email protected]"
$ cat ~/.ssh/id_rsa.pub
$ clear
$ cd ~/.ssh
$ ls
创建新的SSH Keys,设置密码并确认密码。
通过“cat ~/.ssh/id_rsa.pub”命令查询SSH Keys,如下图所示。
它会在在 C:\Users\yxz.ssh 路径下创建SSH keys,并生成两个文件rd_rsa和id_rsa.pub。
如下图所示:
第一步:在Github右上角点击头像,选中“Settings”。
第二步:进入Settings页面,点击“SSH and GPG keys”,再点击“New SSH key”创建新密钥。
第三步:输入Title和Key,注意Key值将idb_rsa.pub文件中内容拷贝即可。
第四步:密钥添加之后输入密码,该密码为前面Git设置SSH Keys的密码。
此时密钥创建成果,如下图所示。
接着我们需要在本地创建一个文件夹(版本库),然后将文件夹中内容上传至Github,这里作者采用命令行实现。
第一步:创建文件夹并进入文件夹“blog-08”。
核心命令
$ cd ~/Desktop
$ mkdir blog-08
$ cd blog-08
将需要上传的文件复制到文件夹中,如下图所示。
第二步:通过命令git init将本地文件夹“blog-08”转换为Git可管理的仓库,接着通过查看Git仓库里的状态。如果文件夹中有文件,则会提示红色,如下图所示。
核心命令
$ git init
$ git status
注意,当执行 git init 命令之后,会在本地创建一个“.git”隐藏文件夹。
第三步:将项目粘贴到Git仓库中,调用“git add .”命令实现,此时三个文件的状态变为绿色。
核心命令
$ git add .
$ git status
第四步:把项目提交到仓库,创建提交命令“NSS”,并将Github创建好的Git仓库和本地的仓库进行关联。最后调用指令“git push -u origin master”将本地库的文件上传至远程Github仓库。
Github创建的仓库地址为:[email protected]:eastmountyxz/NetworkSecuritySelf-study.git
$ git commit -m 'NSS'
$ git remote add origin git@github.com:eastmountyxz/NetworkSecuritySelf-study.git
$ git push -u origin master
注意,由于远程创建的仓库是空的,需要增加“-u”参数,当仓库中有内容之后,下次上传内容只需执行下面命令即可。
$ git push origin master
最终结果如下图所示:
上面结果存在两个问题:
(1) 没有README.md文件,这个后续可以创建
(2) 作者想创建一个包含多个文件夹的仓库,每个文件夹下有对应的代码或工具,如下图所示。
作为初学者,建议大家还是多尝试,把工具用熟悉,后续各种操作就会非常方便。同时,在使用过程中会遇到各种报错,学会谷歌、百度独立解决也很重要。下面作者将已上传的文件删除,过程如下:
第一步:删除本地仓库的文件。
第二步:执行命令删除Github仓库文件。
核心命令
$ git add *
$ git commit -m 'del'
$ git push origin master
第三步:删除后的Github如下图所示。
第四步:在Github网站中点击按钮创建README.md文件,如下图所示。
最后分享如何上传文件夹至Github。
第一步:本地创建“blog”文件夹,里面包括“blog-08”文件夹,包括之前的三个工具文件。
核心命令
$ pwd
$ cd ..
$ cd blog
$ dir
第二步:通过命令git init将本地文件夹“blog”转换为Git可管理的仓库,接着通过查看Git仓库里的状态。如果文件夹中有文件,则会提示红色,如下图所示。
核心命令
$ git init
$ git status
$ git add .
$ git status
第三步:把项目提交到仓库,创建提交命令“NSS”,并将Github创建好的Git仓库和本地的仓库进行关联。
核心命令
$ git commit -m 'NSS'
$ git remote add origin git@github.com:eastmountyxz/NetworkSecuritySelf-study.git
接着再上传文件时报错“failed to push some refs”,通常出现这个 错误的原因是github中的README.md文件不在本地代码目录中。我们需要先将远程代码库中的任何文件先pull到本地代码库中,才能push新的代码到github代码库中。
第四步:执行pull命令。过程中如果卡死,可以通过“Ctrl+C”停止运行命令。
第五步:最终执行命令如下,并将文件从本地仓库中上传至Github仓库。
核心命令
$ git pull --rebase origin master
$ git push -u origin master
第六步:最终上传页面如下图所示。
最后希望基础性文章对您有所帮助,作者也是这个领域的菜鸟一枚,希望与您共同进步。同时,昨天是教师节,感谢自己所有老师的教育与栽培,也祝自己节日快乐,哈哈!第四个教师节。
(By:Eastmount 2019-09-11 晚上10点 http://blog.csdn.net/eastmount/ )
参考文献:
(强推)第一次使用Git上传本地项目到github上 - 孙氏楼
如何将本地项目上传到Github - smfx1314
GitHub把自己整个文件夹上传 - BobHuang
如何上传本地文件(夹)至GitHub及更新仓库文件
如何解决git上传文件出错[rejected] master -> master (fetch first) error: failed to push some refs to ’
如何在Github中删除已有仓库或文件