GitHub上传自己的项目

目录

一、安装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: 适用于需要长期跟踪远程分支,并经常需要拉取/推送的场景。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

10款音视频转文字工具体验记!!!

如今互联网数据的便捷,记录不仅仅只有文字的形式,还有视频的形式!但是有时候,我们只有视频,却需要文字文档,那要怎么办呢?今天我要和大家分享一下我使用过的那些语音转文字工具的体验感受。语音…

SpringBoot在线教育系统:集成第三方服务

5系统详细实现 5.1 普通管理员管理 管理员可以对普通管理员账号信息进行添加修改删除操作。具体界面的展示如图5.1所示。 图5.1 普通管理员管理界面 5.2 课程管理员管理 管理员可以对课程管理员进行添加修改删除操作。具体界面如图5.2所示。 图5.2 课程管理员管理界面 5.3 …

深度学习基础知识-损失函数

目录 1. 均方误差(Mean Squared Error, MSE) 2. 平均绝对误差(Mean Absolute Error, MAE) 3. Huber 损失 4. 交叉熵损失(Cross-Entropy Loss) 5. KL 散度(Kullback-Leibler Divergence&…

Web Broker(Web服务应用程序)入门教程(1)

1、介绍 Web Broker 组件(位于工具面板的“Internet”选项卡中)可以帮助您创建与特定统一资源标识符(URI)相关联的事件处理程序。当处理完成后,您可以通过编程方式构建 HTML 或 XML 文档,并将它们传输给客…

基于springboot+vue实现的养老院管理系统(源码+L文+ppt)

基于springbootvue实现的养老院管理系统(源码L文ppt)4-106 养老院系统管理是一个综合性养老在线平台,旨在综合并简化养老机构中的照护流程。该系统集成了多种功能,以支持医生、护士、家属及管理员等不同角色的需求。对于医务人员而…

dify实战案例分享-基于多模态模型的发票识别

1 什么是dify Dify是一个开源的大语言模型(LLM)应用开发平台,旨在简化和加速生成式AI应用的创建和部署。它结合了后端即服务(Backend as Service, BaaS)和LLMOps的理念,使开发者能够快速搭建生产级的AI应用…

QML项目实战:自定义Switch按钮

目录 一.添加头文件 1.QtQuick.Controls 2.1 2.QtGraphicalEffects 1.12 二.自定义Switch 三.标签 四.效果 五.代码 一.添加头文件 1.QtQuick.Controls 2.1 QtQuick.Controls 提供了一组预定义的 UI 控件,这些控件可以用于构建现代、响应式的用户界面。它包…

开源框架Openlayers:就业必学,打造3D互动式地图

OpenLayers是一个开源的WebGIS库,支持多种地图类型,提供丰富的功能和API,支持多种格式,可以进行空间分析和可视化,还可以制作融合图层和定制地图。 在招聘市场中,OpenLayers的地位也是不可小觑的&#xff0…

React系列教程(2)React哲学

豆约翰习惯将掌握某一技术分为5个层次:初窥门径,小试牛刀,渐入佳境,得心应手,玩转自如 本篇属于React框架中的第1层次即初窥门径 我们认为,React 是用 JavaScript 构建快速响应的大型 Web 应用程序的首选方…

无人机声学侦测算法详解!

一、算法原理 无人机在飞行过程中,其电机工作、旋翼震动以及气流扰动等都会产生一定程度的噪声。这些噪声具有独特的声学特征,如频率范围、时域和频域特性等,可以用于无人机的检测与识别。声学侦测算法利用这些特征,通过一系列步…

【C++】继承的理解

1.继承的概念和定义 1.1继承的概念 继承 (inheritance) 机制是面向对象程序设计 使代码可以复用 的最重要的手段,它允许程序员在 保 持原有类特性的基础上进行扩展 ,增加功能,这样产生新的类,称派生类。继承 呈现了面向对象 程序…

车圈大厂9月利润率惨淡收尾,“金九”或变“铜九”

撰文|ANGELICA 编辑|ANGELICA 审核|烨 Lydia 声明|图片来源网络。日晞研究所原创文章,如需转载请留言申请开白。 国庆假期第一天,不少车企就迫不及待晒出假期战报。 按照以往的经验,每年9月…

蓝牙是如何诞生,如何工作,如何发展的?【无线通信小百科】

蓝牙为什么叫蓝牙?深入了解关于蓝牙的一切|无线通信小百科 在前两期文章,我们为大家介绍了无限通信技术是如何工作,如何发展;也为大家讲解了目前主流无线通信模块、SoC方案都有哪些。 无线通信工作原理、发展历程介绍https://blo…

Pytorch cuda版本选择(简洁高效版)

简而言之 Pytorch cuda版本选择 只需要低于cuda驱动版本即可,cuda版本查看是nvidia-smi, nvcc -V 是runtimeapi版本可以不用管 1.只要看cuda驱动版本 安装pytorch 选择cuda版本,只要看你电脑cuda驱动版本即可。 2.选择依据 pytorch中cuda版本只要不高于…

告别复杂协作:Adobe XD的简化替代方案

Adobe XD是一款集成UI/UX设计和原型创建功能的设计平台。它允许用户进行网页、移动应用的设计,以及原型的绘制,并且能够将静态设计转化为动态的交互原型。尽管Adobe XD提供了这些功能,但它依赖于第三方插件,且插件库有限&#xff…

【创新技术】探索Nuvoton NSP2.0:打造高品质语音提示新方案

你还在为寻找低成本高品质的语音播放芯片而困扰吗?面对市面上参差不齐的语音播放芯片,我们一直都在追求性价比,真正的性价比并不单独只是考虑价格,更加考虑播放音效的品质,芯片的抗干扰性能、外围电路的简易程度和开发…

【IC每日一题:CDC多bits跨时钟传输+handShake】

IC每日一题:CDC多bits跨时钟传输handShake 1 八股题:CDC多bits跨时钟传输1.1 慢到快:MUX enbale同步器法1.1.1 分析1.1.2 时序图1.1.3 代码 1.2 快到慢:握手协议1.2.1 原理分析1.2.2 时序图1.2.3 代码题 2 手撕题:使用…

如何将MySQL彻底卸载干净

目录 背景: MySQL的卸载 步骤1:停止MySQL服务 步骤2:软件的卸载 步骤3:残余文件的清理 步骤4:清理注册表 步骤五:删除环境变量配置 总结: 背景: MySQL卸载不彻底往往会导致重新安装失败…

完美解决 vscode 多设备通过ssh登录远程服务器免密登录

文章目录 问题解决分支一:只需一个设备连服务器分支二:需要多台设备连服务器(即分支一成立的情况下,即已经有一个设备连接服务器了)确保权限正确注意 问题 麻烦,每次打开vscode都要输入密码才能连接服务器&…

mac|安装redis及RedisDesk可视化软件

一、安装 通过Homebrew安装 brew install redis 在安装过程可以得到以下信息: 1、启动redis或重新登陆redis brew services start redis 如果只想在前端运行,而不是在后端,则使用以下命令 /opt/homebrew/opt/redis/bin/redis-server /opt…