GitHub上传自己的项目

news2024/11/26 2:37:26

目录

一、安装Git插件

1)下载

2)安装

二、创建Gothub的创库

三、通过Git上传本地文件到Github

四、其他

1、部分指令

2、如果已经运行过git init并设置了[user],下次可以直接用


一、安装Git插件

1)下载

下载地址:Git

点击Downloads

选择自己的系统下载,这里我选择Win的64位插件:

2)安装

一般都默认即可:

这里可以选择第二个:

这里也是第二个默认即可:

第一个即可(默认):

第一个:

第一个:

第一个:

第一个:

第一个:

第一个:

这里不用选,但是我安装的时候没有出现选项,别人的有:

图来源:link

安装完成后,选择第二个,然后安装结束:

二、创建Gothub的创库

GitHub Dashboard

在 GitHub 上创建一个新的仓库。进入您的 GitHub 主页,点击右上角的加号图标,选择 "New Repository"。填写仓库名称、描述和其他选项,然后点击 "Create Repository"。

三、通过Git上传本地文件到Github

  • 步骤1:打开需要上传项目的文件夹

首先打开要上传的文件的路径,在文件内点击,接着右击鼠标(看到有红色方框的说明安装成功),点击第二个Open Git Bash here:

  • 步骤 2:初始化本地仓库

执行以下命令来初始化一个新的 Git 仓库并创建初始的主分支(main):

git init

在进行下一步之前,我们先进行以下操作。

进入刚刚创建出的git文件夹,找到config文件,用记事本打开它

注意,它是隐身的,要选择查看,然后点击显示,再勾选隐藏的项目才能看到

进入.git文件夹,然后点击进去找到config文件,用记事本打开,应该只有[core]那一块内容,[user]那一块是要我们自己添加进去的,email对应的就是你GitHub的邮箱,name就是你GitHub的账号名字(这个是每个人不一样的,你自己看下你自己的),输入之后记得保存:

[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true

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

  • 步骤 3:切换默认分支(如果已经是main,就不需要这一步)

默认情况下,GitHub 仓库的主分支名称是 "master",但为了更加包容和尊重的命名,GitHub 已经将默认分支更改为 "main"。可以通过以下命令将本地仓库的默认分支切换为 "main":

git branch -m master main

但是此时我们的已经是main了,就不需要操作这一步了:

  • 步骤 4:连接到远程仓库

在 GitHub 上创建的仓库是远程仓库,您需要将其与本地仓库关联起来。使用以下命令将远程仓库地址添加到本地仓库配置中:

git remote add origin 远程仓库的地址

这时就转到了远程仓库地址

  • 步骤 4:获取远程更改

在开始添加和提交更改之前,确保您的本地仓库是最新的。执行以下命令从远程仓库获取最新的更改(同步远程仓库的信息):

git pull origin main

下面是看到的两种教程的区别(我们用上面这种即可)--- 只做解释用,不用管

git pull origin main和git pull -u origin main之间的主要区别如下:

默认分支跟踪设置:
git pull origin main: 不会改变当前分支的默认上游分支设置。执行此命令后,当前分支仍需要手动指定上游分支进行后续的推送和拉取操作。
git pull -u origin main: 此命令会将当前分支与远程的 origin/main 分支关联起来,设置当前分支的默认上游分支。这样在后续执行 git pull 或 git push 时,就不需要再指定远程分支名。
可重复性:
git pull origin main: 每次需要手动指定远程分支名,不太方便。
git pull -u origin main: 设置了默认上游分支后,后续可直接使用 git pull 和 git push 命令,更加简洁和方便。
适用场景:
git pull origin main: 适用于临时拉取远程分支,不需要长期跟踪该分支的场景。
git pull -u origin main: 适用于需要长期跟踪远程分支,并经常需要拉取/推送的场景。
总的来说,git pull -u origin main 命令更加方便和高效,建议在大多数情况下使用此命令。当您只是临时需要拉取远程分支时,使用 git pull origin main 也是可以的。

该界面表示成功:

如果出现不相关历史的错误提示,您可以使用以下命令来解决:

git pull origin main --allow-unrelated-histories

有人说,这一步可以多写一次免得同步不完全导致后面报错(因此也不是必须的,所有看自己):

  • 步骤 6:添加文件到暂存区

如果您有新的或已修改的文件需要提交,使用以下命令将它们添加到暂存区(即添加文件夹中的所有文件):

git add .

  • 步骤 7:提交更改

一旦您的更改被添加到暂存区,执行以下命令来提交更改并添加提交信息(重命名文件):

git commit -m "Your commit message"

  • 步骤 8:上传项目

最后,使用以下命令将您的项目文件推送到 GitHub 远程仓库:

git push origin main

如果幸运的话就会不断的加载,表示成功了。但是运气不好,就会出错:

解决办法:

我们一般是用梯子挂的代理服务器进行的,此时我们要将代理服务器对应的IP地址和端口为我们所调用,首先点击桌面右键找到显示设置,然后搜索代理服务器,找到编辑代理服务器:

然后在刚才的命令窗口输入指令,输入方式为:git config --global --get http.proxy 代理IP地址:端口
例如我自己的:git config --global --get http.proxy 127.0.0.1:7890
然后再输入git config --global --get http.proxy,可以查看到自己的端口路径修改成功

然后再运行:git push origin main,上传项目。

参考:link

当然,这种代理的方法可能还是无法解决,那么我们尝试下面这种,即通过SSH key --- 为了增强安全性和便捷性,您可以尝试使用 SSH 协议来推送更改,而不是使用 HTTPS。首先,在 GitHub 上添加您的 SSH 公钥。然后,将远程仓库 URL 更改为 SSH 格式(测试成功

  • 生成ssh key

首先检查是否已生成密钥 cd ~/.ssh,ls如果有2个文件,则密钥已经生成,id_rsa.pub就是公钥

也可以打开我的电脑C:\Users\Y\ .ssh 里面找到

如果没有生成,那么通过$ ssh-keygen -t rsa -C “xxxxxx@163.com”来生成。

  1. 是路径确认,直接按回车存默认路径即可
  2. 直接回车键,这里我们不使用密码进行登录, 用密码太麻烦;
  3. 直接回车键

生成成功后,去对应目录C:\Users\Y\ .ssh里(Y为电脑用户名,每个人不同)用记事本打开id_rsa.pub,得到ssh key公钥

  • 为github账号配置ssh key

切换到github,展开个人头像的小三角,点击settings

然后打开SSH keys菜单, 点击Add SSH key新增密钥,填上标题,跟仓库保持一致吧,好区分。

接着将id_rsa.pub文件中key粘贴到此,最后Add key生成密钥吧。

如此,github账号的SSH keys配置完成。

  • 关联github仓库

到仓库复制仓库地址:

然后执行指令:

git remote set-url origin 你的ssh地址,即上面复制的那个
例如:
git remote set-url origin git@github.com:SLDragon-cx330/end.git

然后运行git push origin main提交即可。

参考:link1、link2

四、其他

1、部分指令

git init //把这个目录变成Git可以管理的仓库
  git add README.md //文件添加到仓库
  git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了 
  git commit -m "first commit" //把文件提交到仓库
  git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
  git push -u origin master //把本地库的所有内容推送到远程库上

2、如果已经运行过git init并设置了[user],下次可以直接用

git add . # 添加文件到暂存区
git commit -m "Your commit message" # 添加修改文件的注释

运行上面两个连接后,通过下面命令上传:

git push origin main

但是,如果.git/config文件里没有[remote "origin"],则需要先连接远程仓库:

git remote add origin 你的ssh连接
例如:
git remote add origin git@github.com:SLDragon-cx330/end.git

然后,再进行git push origin main上传即可。

下面是记录,不用管:

如果已经存在了,想更改连接,运行下面命令:

git remote set-url origin git@github.com:SLDragon-cx330/end.git

这里主要是set-url与add的不同:

还有一个区别git pull origin maingit pull -u origin main之间的主要区别如下:

  • 默认分支跟踪设置:

    • git pull origin main: 不会改变当前分支的默认上游分支设置。执行此命令后,当前分支仍需要手动指定上游分支进行后续的推送和拉取操作。
    • git pull -u origin main: 此命令会将当前分支与远程的 origin/main 分支关联起来,设置当前分支的默认上游分支。这样在后续执行 git pullgit push 时,就不需要再指定远程分支名。
  • 可重复性:

    • git pull origin main: 每次需要手动指定远程分支名,不太方便。
    • git pull -u origin main: 设置了默认上游分支后,后续可直接使用 git pullgit push 命令,更加简洁和方便。
  • 适用场景:

    • git pull origin main: 适用于临时拉取远程分支,不需要长期跟踪该分支的场景。
    • git pull -u origin main: 适用于需要长期跟踪远程分支,并经常需要拉取/推送的场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2232195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot框架

一.SpringBoot简介 1.1 设计初衷 目前我们开发的过程当中,一般采用一个单体应用的开发采用 SSM等框架进行开发,并在 开发的过程当中使用了大量的xml 等配置文件,以及在开发过程中使用MAVEN的构建工具来进 行构建项目,但是往往有…

【C++】vector 类深度解析:探索动态数组的奥秘

🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 如果你对string类还存在疑惑,欢迎阅读我之前的作品 : 👉【C】string 类深度解析:…

windows——病毒的编写

声明 学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 windows基础 我们学习了前面的window…

STM32 + CubeMX + 硬件SPI + W5500 +UDP

这篇文章记录一下STM32W5500UDP的调试过程,实现UDP数据的接收与发送。 目录 一、W5500模块介绍二、Stm32CubeMx配置三、Keil代码编写1、添加W5500驱动代码到工程(添加方法不赘述,驱动代码可以在官网找)2、在工程中增加代码&#…

原来大佬的测试用例都是这样写的...

1、测试点与测试用例 测试点不等于测试用例,这是我们首先需要认识到的。 问题1:这些测试点在内容上有重复,存在冗余。 问题2:一些测试点的测试输入不明确,不知道测试时要测试哪些。 问题3:总是在搭相似…

【论文解读】Med-BERT: 用于疾病预测的大规模结构化电子健康记录的预训练情境化嵌入

【论文解读】Med-BERT: 用于疾病预测的大规模结构化电子健康记录的预训练情境化嵌入 Med-BERT:pretrained contextualized embeddings on large-scale structured electronic health records for disease prediction ​ ​ 摘要:基于电子健康记录(EHR)的深度学习(DL)预…

天锐绿盾加密软件与Ping32 — 数据安全与性能优化的完美结合

在数字化时代,企业对数据安全的重视程度日益增加。随着网络攻击和数据泄漏事件频发,选择合适的安全解决方案显得尤为重要。天锐绿盾与Ping32作为两款备受推崇的安全软件,各自为企业提供了独特的功能和优势,共同为企业的数据安全和…

随身WiFi三网切换靠谱吗?格行随身WiFi网速怎么样?

出门在外手机流量不够用,连接公共WIFI网速不稳定还存在安全隐患。小巧便携的随身WIFI成了外出用网的首选。面对市面上不同品牌,不同类型的随身WIFI不少朋友不免心生疑问:随身WIFI到底值不值得买?究竟是不是“智商税”?…

服务器数据恢复—SAN环境中LUN映射错误导致文件系统一致性出错的数据恢复案例

服务器数据恢复环境: SAN光纤网络环境,存储由一组6块硬盘组建的RAID6阵列构成,划分为若干LUN,MAP到跑不同业务的SUN SOLARIS操作系统服务器上。 服务器故障&分析: 因为业务需要,用户在该光纤存储环境中…

【skywalking 】More than 15,000 ‘grammar‘ tokens have been presented. 【未解决请求答案】

问题 skywalking相关版本信息 jdk:17skywalking:10.1.0apache-skywalking-java-agent:9.3.0ElasticSearch : 8.8.2 问题描述 More than 15,000 grammar tokens have been presented. To prevent Denial Of Service attacks, parsing has b…

004-Kotlin界面开发快速入水之TicTacToe

程序界面和效果 快速入水 要学习一样跟程序设计有关的东西,最好的办法始终是把手打湿,整一个能够运行,可以实验的东西出来。 也只有在程序开发中,我们才能想一个魔法师而不是魔术师,我们真的能够创造一个东西。而且编…

Node.js:Express 服务 路由

Node.js:Express 服务 & 路由 创建服务处理请求req对象 静态资源托管托管多个资源挂载路径前缀 路由模块化 Express是Node.js上的一个第三方框架,可以快速开发一个web框架。本质是一个包,可以通过npm直接下载。 创建服务 Express创建一…

C语言 | Leetcode C语言题解之第530题二叉搜索树的最小绝对差

题目: 题解: void dfs(struct TreeNode* root, int* pre, int* ans) {if (root NULL) {return;}dfs(root->left, pre, ans);if (*pre -1) {*pre root->val;} else {*ans fmin(*ans, root->val - (*pre));*pre root->val;}dfs(root->…

重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 整合 Elasticsearch 8.x (二)使用Repository 1. 环境准备1.1 项目依赖1.2 Elasticsearch 配置 2. 使用Repository的基本步骤2.1 创建实体类2.2 创…

SpringBoot源码(四):run() 方法解析(一)

run()方法: public ConfigurableApplicationContext run(String... args) {// 记录应用启动时间long startTime System.nanoTime();DefaultBootstrapContext bootstrapContext createBootstrapContext();// 创建 ConfigurableApplicationContext 对象Configurabl…

ASP .NET CORE 6 在项目中集成WatchDog开源项目

概念 WatchDog是一个开源的项目,可以实现对.Net 应用程序和API实现实时应用日志和性能监控平台。可以实现实时记录和查看应用程序中的消息、事件、HTTP请求和响应,以及运行时捕获的异常,有效帮助开发人员去排查应用异常,提升开发效…

分类算法——决策树 详解

决策树的底层原理 决策树是一种常用的分类和回归算法,其基本原理是通过一系列的简单决策,将数据集划分为多个子集,从而实现分类。决策树的核心思想是通过树形结构表示决策过程,节点代表特征,边代表决策,叶子…

python 使用进程池并发执行 SQL 语句

这段代码使用了 Python 的 multiprocessing 模块来实现真正的并行处理,绕过 Python 的全局解释器锁(GIL)限制,从而在多核 CPU 上并发执行多个 SQL 语句。 from pyhive import hive import multiprocessing# 建立连接 conn hive.…

[ 问题解决篇 ] win11中本地组策略编辑器gpedit.msc打不开(gpedit.msc缺失)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

[Python学习日记-55] 软件开发目录设计规范

[Python学习日记-55] 软件开发目录设计规范 简介 为什么要设计好目录结构? 目录组织方式 关于 README 的内容 关于 setup.py 和 requirements.txt 关于配置文件的使用方法 简介 我们在浏览一些开源项目或者是一些安装后的软件的时候会发现,不同的两…