如何在GitHub分享自己的代码(附上传大文件步骤)

avatar
作者
猴君
阅读量:0

最近应老师要求,需要上传一些代码到GitHub上,以前只下载过别人的项目,还没上传过自己的项目,于是在网上搜索学习了一下,成功上传了自己的项目,结合了几个教程,总结了下面的步骤,大家可以参考一下。

参考的一些文章和视频:

github大文件提交以及LFS的简单使用 - 简书 (jianshu.com)icon-default.png?t=N7T8https://www.jianshu.com/p/22e9eb221fd4手把手教你在github上传文件_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1Xs4y1i7id/?spm_id_from=333.337.search-card.all.click&vd_source=7a0d8721998d1825b5e8304262c30c8e

第一步:创建自己的远程仓库

创建好的仓库如下图所示: 

第二步:下载并安装Git软件

参考网址Git - Downloads (git-scm.com),下载对应版本,以我的电脑为例,下载64位Windows版本。如下图:

安装Git,除了安装路径我自己重新设置了,其余我都选择了默认选项,如需要Git安装过程中的详细释义,见:Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/mukes/article/details/115693833

第三步:上传代码。

一般的步骤:

①在需要上传的文件夹(称为本地仓库)目录下右键'Open Git Bash here':

②在命令行输入下面一行命令以初始化:

git init

点击“隐藏的项目”即可看到'git'文件,如下图所示:

③在命令行输入下面一行命令,将当前工作目录下未被Git管理的文件和修改过的文件添加到暂存区中,准备提交到库(注意:如果上传的文件中有超过50M的大文件,需要将大文件和小文件分开提交,不要跟着接下来的步骤做了,转到步骤⑪):

git add *

④右键记事本打开'.git'文件夹下的'config'文件:

⑤在代码最后加上自己GitHub账号的邮箱和用户名并保存,添加的代码如下(千万不要手误把自己的用户名和邮箱打错了,我就吃过这个亏):

[user] email = GitHub账号的邮箱 name = GitHub账号的用户名

⑥ 在命令行输入下面一行命令,将暂存区中的改动提交到仓库。

其中“first commit”是一条提交信息(Commit Message),用于描述这次提交的内容或目的。通常,项目的第一次提交被称为 "Initial Commit" 或 "First Commit",它标志着项目的初始状态,包括了项目的基本文件结构、配置文件或初始代码。

git commit -m "first commit"

⑦在GitHub远程仓库下复制链接:

⑧在命令行输入下面一行命令,将本地仓库与远程仓库关联起来(右键粘贴复制的链接可能会引起后面格式错误,所以我往往会自己敲进去):

git remote add origin 右键粘贴远程仓库链接

⑩在命令行输入下面一行命令,将本地仓库提交上传到远程仓库:

这条命令的作用是将当前分支(master)的提交推送到名为(origin)的远程仓库。其中 -u 参数用于设置上游(upstream)分支,这样在以后的推送或拉取操作中,Git就会知道应该将本地的master分支与远程的origin/master分支进行同步。

执行这条命令后,如果远程仓库中还没有master分支,Git 会创建一个新的master分支,并将你的提交推送到该分支。如果远程仓库中已经存在master分支,Git 将会将你的提交合并到远程master分支上。

git push -u origin master

不出意外的话,代码应该顺利上传,如下图:

如果前面步骤都无误的情况下最后一步上传本地仓库报错,大概率是网络连接问题导致与GitHub连接中断,要么多试几次,要么使用代理,使用代理的方法可见:提交代码到github时使用代理_github 代理-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Xzike/article/details/131661141以上就是上传仓库的整个步骤了。

下面是特殊情况,存在大文件时的上传步骤:

前面的步骤①和②是一样的,接下来:

安装Git LFS,在下面官网上下载安装即可。Git Large File Storage | Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise. (git-lfs.com)icon-default.png?t=N7T8https://git-lfs.com/

⑫ 在命令行输入下列一行命令。

git lfs install

 ⑬在命令行输入下列命令以跟踪大文件。

git lfs track "xxx.xx"

以我的文件为例,如下图:

⑭ 输入下面一行命令将'.gitattributes'文件添加到Git中:

git add .gitattributes

 

⑮输入下面一行命令提交'.gitattributes'文件:

git commit -m "add file .gitattributes"

⑯与步骤⑧相同,将本地仓库与远程仓库关联起来:

git remote add origin 远程仓库链接

 ⑰提交大文件:

git push -u origin master

 提交成功,如下图所示:

⑱大文件提高成功之后,继续提交剩余文件:

git add . git commit -m "add project EIC" -a git push -u origin master

 提交成功,如下图所示:

 同上,如果只在提交时出错,要么多试几次,要么使用代理(见步骤⑩)。

到此为止,我们就实现了上传,刷新GitHub界面就可以看到自己的仓库了:

另外也可以编写README.md文件,方便大家交流学习。

哦对了,我上传的是我们组关于组水平脑区功能剖分密度聚类算法的代码,有这方面研究或感兴趣的欢迎交流,原文和GitHub代码在这里:

Functional Parcellation of Human Brain Precuneus Using Density-Based Clustering | Cerebral Cortex | Oxford Academic (oup.com)icon-default.png?t=N7T8https://academic.oup.com/cercor/article/30/1/269/5482328GitHub - JieLi0110/Eigen-clustering-parcellation: Group-level functionally parcellation using density-based clustering, combining density-peaks clustering(DPC) and Laplacian eigenmaps(LE)Group-level functionally parcellation using density-based clustering, combining density-peaks clustering(DPC) and Laplacian eigenmaps(LE) - JieLi0110/Eigen-clustering-parcellationicon-default.png?t=N7T8https://github.com/JieLi0110/Eigen-clustering-parcellation.git

我的分享就这么多了,欢迎大家一起交流,祝各位早发顶会顶刊,生活开心~~~

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!