将本地文件/文章上传到 GitHub 的流程

简介: 将本地文件/文章上传到 GitHub 的流程

Hello 大家好,我是安哥。


今天想给大家介绍一下,使用 Git 将本地文件上传到 GitHub 仓库的流程。我相信这对绝大多数关注这个公众号的读者都是用不上的,但没关系,因为这是我想分享出来的,分享的原因有两个:


01. 这是我踩过的坑,借助网上别人分享的内容,自己折腾了好一会才大概弄明白,现在写下来,防止之后遗忘,或者下次需要用到,就可以很方便地翻出来。


02. 如果你有一天突发奇想、心血来潮地想学编程,或者你只是想将你写的东西发布到 GitHub 上,你大概率会用到 Git 和 GitHub,到时你可以来看看我写的这篇文章。


话不多说,感兴趣的朋友可以接着往下看:


首先,在 GitHub 上创建一个名为 pythonProject 的新仓库


如果你不知道如何创建一个 GitHub 仓库,可以看我之前写的这篇文章:不会代码,如何零成本搭建个人博客?



创建好 GitHub 仓库之后,我们需要在本地进行如下操作:


在本地创建一个与 GitHub 仓库同名的文件夹 pythonProject


使用终端 cd 命令进入到 pythonProject 文件夹,由于我的这个文件存放在如下图的路径中,因此在终端中输入的命令为:


cd PycharmProjects/pythonProject


af5e1d64505176d7ac3b90cf33b753e9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


接着初始化仓库   git init


fbaf75565892674d1e1d170129cee77c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


将文件添加到暂存区  git add .(末尾的英文句号是有用的哦,而不是我随意打多的一个点,英文句号与 add 之间要加多一个空格)


9a87ca3370b61b42704313958e3bfd45_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


提交添加到暂存区的文件  git commit -m"这里本次提交附带的信息,随便写点什么"


27bd2f365641f2adbd26b3c777bbb4ee_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


将本地的仓库与 GitHub 上创建的远端仓库进行连接  git remote add origin git@github.com:phh95/pythonProject.git

 

ea1dd8d46f9528b925fbaa17ebe6db09_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


这里要穿插一个小知识点:本地与远端仓库的连接,离不开传输协议,就像你在浏览器中打开某个网站,需要用到 http 或 https 协议。


将本地仓库与远端仓库链接,这里有两种协议可供选择:https 协议ssh 协议


这里我选择的是 ssh 协议,获取 ssh 协议链接的方法如下:打开拟连接的远端 GitHub 仓库,点击绿色的「Code」按钮,在打开的面板中,切换到「SSH」,点击右侧的按钮,复制 SSH 链接。复制的内容就是上面的红色文本内容:


git@github.com:phh95/pythonProject.git


73f86c8fad027a98da519ce86a9ef3a9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


接着我遵照网上的教程,运行 git push origin master ,将本地文件上传到远端仓库,它会在本地和远端同时创建一个新的分支 master。


356fafff4a74def566be1984f0882f54_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


如果这是在 2020 年 10 月 1 日以前,运行这个命令并没有什么问题,因为远端仓库默认的分支就是 master。


但从 2020 年 10 月 1 日开始,GitHub 将默认的 master 分支更名为 main


151415c16cb4a0f880070c4de9cec1f9_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


此时,如果我们还是运行 git push origin master 这个命令,上传的内容就会提交到一个新的 master 分支而非默认的 main 分支,多出来一个不需要用到的分支,有点太多余了。


为了删除不小心创建出来的 master 分支,我进行了一番额外的操作:


运行 git pull ,将远端的 main 分支和文件拉取(同步)到本地,此时本地就会生成一个新的 main 分支。


c7d501f47a3a486de67869af56e7e717_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


运行 git checkout main ,切换到新的 main 分支。


2581e4e79b3beac26170ccad6b2d300c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


运行 git branch -a ,可以查看当前的所有分支,分支名称前面带有星号 *,表明当前正处在这一分支上,即当前正处于 main 分支上。


ee13c81091180eda13786dcda4cf2249_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


运行 git merge master --allow-unrelated-histories ,将前面说到的多余的 master 分支合并到主分支 main 上。


75b995b805f395bf9c62cfb98627646a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


合并分支并不等于删除分支,因此我们还需要运行 git branch -d master ,删除 master 分支。(这里的 d 代表 delete)


cfd03afdbc5b9dc780e916a363ec4c68_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


删除多余的 master 分支之后,就可以开始往 GitHub 顺畅地上传各种文件啦。


此时,运行将本地文件上传到 GitHub 经常会用到的三行命令(三个组合拳):


git add .

git commit -m"这里本次提交附带的信息,随便写点什么"

git push


29d944bf8aeae32a9831db14af8a7e1e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


到这里,为了检查本地文件是否真的上传到 GitHub,你可以同时打开本地文件夹和 GitHub 仓库,双屏显示进行比对,有图有真相:


7f44c961e5077bd74854d4669b763653_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



以上。


相关文章
|
存储 运维 安全
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
359 0
利用 GitHub Actions 自动化你的软件开发流程
GitHub Actions 是由 GitHub 提供的自动化工具,可让你在仓库中触发和执行自动化工作流程,如自动运行测试和部署应用。其核心概念包括工作流程(定义在 YAML 文件中的一系列自动化步骤)、作业和步骤。本文将指导你如何设置和使用 GitHub Actions,并提供实用的自动化示例,帮助你提高开发效率和代码质量。通过简单的配置文件,你可以实现自动运行测试、部署应用甚至自动合并 Pull Requests。
利用 GitHub Actions 自动化你的软件开发流程
在现代软件开发中,自动化是提升效率与质量的关键。GitHub Actions 作为 GitHub 的强大自动化工具,允许你在仓库中自动执行多种任务,如测试、打包、部署代码及自动合并 Pull Requests。本文介绍了 GitHub Actions 的核心概念、设置方法及其实用示例,帮助你快速上手并优化开发流程。通过 YAML 文件定义的工作流程可显著提高工作效率和代码质量。
|
3月前
为什么 GitHub Pages 的文章标题不能以 @ 开头?
本文记录了一个 GitHub Pages 博客网页上文章标题以 `@` 开头导致的问题,并分析了原因,提供了解决方法。
47 0
|
4月前
|
开发者
利用 GitHub Actions 自动化你的软件开发流程
在快速发展的软件开发环境中,自动化对于提升效率与质量至关重要。GitHub Actions 作为一款强大的工具,能帮助开发者实现从自动运行测试到部署应用等工作的自动化。本文详细介绍了 GitHub Actions 的核心概念、设置方法及实际应用示例,如自动测试、部署和合并 Pull Requests,助力提升开发流程的自动化水平。
利用 GitHub Actions 自动化你的软件开发流程
GitHub Actions 是 GitHub 提供的自动化工具,可在仓库中触发和执行工作流程,包括自动运行测试、部署应用等。其核心概念包括工作流程(Workflow)、作业(Job)和步骤(Step),均定义在 YAML 文件中。本文将指导你如何设置和使用 GitHub Actions,并提供自动运行测试、部署应用及合并 Pull Requests 的示例,帮助提高开发效率和代码质量。
|
5月前
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
113 0
Github代码仓库SSH配置流程
|
5月前
|
数据采集 JSON 小程序
零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?
46 0
|
7月前
|
开发工具 git
【笔记】十分钟学会正确的github工作流,和开源作者们使用同一套流程
【笔记】十分钟学会正确的github工作流,和开源作者们使用同一套流程
146 11
|
8月前
|
数据采集 数据挖掘 Python
[Github高赞文章]python2愉快地迁移到Python3_code changing from python2 to python3(2)
[Github高赞文章]python2愉快地迁移到Python3_code changing from python2 to python3(2)