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 = 0filemode = falsebare = falselogallrefupdates = truesymlinks = falseignorecase = 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.mzph.cn/web/58129.shtml

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

相关文章

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用,用户可以设置倒计时时间并开始计时。当倒计时结束时,应用会显示提醒。该项目涉及时间控制、状态管理和用户交互,是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

Linux动态库和静态库

1,手动制作静态库 1,如何形成静态库文件 做库时,头文件(.h)必须暴露,源文件(.c)必须隐藏。 操作:将需要形成库的文件编译成.o文件: 然后用指令:ar -rc libmy_stdio.a my_stdio.o my_string.o…

java基础之 String\StringBuffer\ StringBuilder

文章目录 String字符串的创建为什么说String是不可变的?创建后的字符串存储在哪里?字符串的拼接String类的常用方法 StringBuilder & StringBuffer使用方法验证StringBuffer和StringBuilder的线程安全问题 总结三者区别什么情况下用运算符进行字符串…

告别繁琐统计,一键掌握微信数据

微信数据管理的挑战在数字时代,微信已成为我们日常沟通和商业活动的重要工具。然而,随着微信号数量的增加,手动统计每个账号的数据变得越来越繁琐。从好友数量到会话记录,再到转账和红包,每一项都需要耗费大量的时间和…

bert-base-chinese模型使用教程

向量编码和向量相似度展示 import torch from transformers import BertTokenizer, BertModel import numpy as npmodel_name "C:/Users/Administrator.DESKTOP-TPJL4TC/.cache/modelscope/hub/tiansz/bert-base-chinese"sentences [春眠不觉晓, 大梦谁先觉, 浓睡…

HTML+CSS科技感时钟(附源码!!!)

预览效果 源码(直接复制使用) <!DOCTYPE html> <html lang"zh-Hans"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>科技感时钟</…

PyQt5实战——UTF-8编码器功能的实现(六)

个人博客&#xff1a;苏三有春的博客 系类往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt5实战——多脚本集合包&#xff0c;程序…

‌MySQL中‌between and的基本用法‌

文章目录 一、between and语法二、使用示例2.1、between and数值查询2.2、between and时间范围查询2.3、not between and示例 BETWEEN AND操作符可以用于数值、日期等类型的字段&#xff0c;包括边界值。 一、between and语法 MySQL中的BETWEEN AND操作符用于在两个值之间选择…

微服务系列一:基础拆分实践

目录 前言 一、认识微服务 1.1 单体架构 VS 微服务架构 1.2 微服务的集大成者&#xff1a;SpringCloud 1.3 微服务拆分原则 1.4 微服务拆分方式 二、微服务拆分入门步骤 &#xff1a;以拆分商品模块为例 三、服务注册订阅与远程调用&#xff1a;以拆分购物车为例 3.1 …

jvm学习笔记-轻量级锁内存模型

一&#xff0c;轻量级锁 LockRecord的那个第一个成员变量是拷贝对应锁定了的java对象资源的MarkWord&#xff0c;Lock Record有一个Ptr指针刚开始指向自己&#xff0c;后面这个指针存储在锁定资源的java对象的markword中&#xff0c;后续可以通过java对象的MarkWord快速定位到…

【力扣专题栏】面试题 01.02. 判定是否互为字符重排,如何利用数组模拟哈希表解决两字符串互排问题?

题解目录 1、题目描述解释2、算法原理解析3、代码编写(1)、两个数组分别模拟哈希表解决(2)、利用一个数组模拟哈希表解决问题 1、题目描述解释 2、算法原理解析 3、代码编写 (1)、两个数组分别模拟哈希表解决 class Solution { public:bool CheckPermutation(string s1, stri…

指针和内存地址的关系(uint8_t和uint32_t的指针有什么区别)

指针在我们的学习中非常常见&#xff0c;有些人只是了解指针的基本概念&#xff0c;却不知道他的原理&#xff0c;到时候使用起来一头雾水&#xff0c;接下来我将对指针做出一些解释说明。 一、数据是如何存储的&#xff1a; 我们初始化一个int变量a,变量a会存储到内存中&#…

flutter 专题四 Flutter渲染流程

一、 Widget - Element - RenderObject关系 二、 Widget 、Element 、RenderObject 分别表示什么 2.1 Widget Widget描述和配置子树的样子 Widget就是一个个描述文件&#xff0c;这些描述文件在我们进行状态改变时会不断的build。但是对于渲染对象来说&#xff0c;只会使用最…

高效内容营销策略提升品牌影响力与客户忠诚度

内容概要 内容营销是一种通过创造和分享有价值的内容&#xff0c;以吸引特定目标受众并促进品牌发展的策略。这种营销形式不仅仅注重产品的直接推广&#xff0c;更着眼于与受众之间建立长期的信任关系。有效的内容营销能够提升品牌在市场中的影响力和客户的忠诚度&#xff0c;…

git 入门作业

任务1: 破冰活动&#xff1a;自我介绍任务2: 实践项目&#xff1a;构建个人项目 git使用流程&#xff1a; 1.将本项目直接fork到自己的账号下&#xff0c;这样就可以直接在自己的账号下进行修改和提交。 这里插一条我遇到的问题&#xff0c;在fork的时候没有将那个only camp4的…

NumPy Ndarray学习

1.NumPy Ndarray 对象简介 NumPy 最重要的特点是其 N 维数组对象 ndarray&#xff0c;它是一系列同类型数据的集合&#xff0c;以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。 2.N…

网络层3——IP数据报转发的过程

目录 一、基于终点的转发 1、理解 2、IP数据报转发过程 二、最长前缀匹配 1、理解 2、主机路由 3、默认路由 三、二叉线索查找 一、基于终点的转发 1、理解 理解什么叫终点转发 IP数据报的传递&#xff0c;交给路由器后 可不可以做到直接发送给目的主机呢&#xff1f;…

【UGUI】为射击游戏添加动态显示的分数和血量到UI界面

项目背景 在这个项目中&#xff0c;我们希望实现一个简单的游戏系统&#xff0c;其中玩家可以通过击中目标来获得分数&#xff0c;同时通过与怪物碰撞来减少血量。分数和血量需要在游戏界面上实时显示&#xff0c;以便玩家能够随时了解自己的状态。 技术实现 1. 静态变量的使…

「C/C++」C/C++标准库 之 #include<cstdlib> 通用工具函数库

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

CTF压缩包破解神器bkcrack教程和详细使用过程

kali安装bkcrack教程和详细使用过程 1.bkcrack介绍&#xff1a;2.bkcrack功能&#xff1a;3.bkcrack安装&#xff1a;Linux-Kali下&#xff1a;测试&#xff1a;Windows下安装&#xff1a; 4.bkcrack的使用方法&#xff1a;4.1查看相关参数4.2恢复内部密钥从 zip 档案中加载数据…