【经验总结】ubuntu 20.04 git 上传本地文件给 github,并解决出现的问题

1. 在GitHub

上创建仓库

  1. 登录 GitHub 个人网站

  2. 点击 New
    在这里插入图片描述

  3. 填写 Repository name, 以及 Description (optional)
    选择 Public
    并添加 Add a README file
    点击 Create repository
    在这里插入图片描述

  4. github repository 创建成功
    在这里插入图片描述

2. 设置SSH key

在本地 bash 运行:

$ ssh-keygen -t rsa -C "xxx@gmail.com"

查看钥匙

$ ls ~/.ssh
id_rsa  id_rsa.pub  known_hosts
$ cat ~/.ssh/id_rsa.pub

id_rsa id_rsa.pub就是 SSH Key 的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub 是公钥。

3. GitHub上传 SSH Key 公钥

点击右上角的头像,会出现
在这里插入图片描述
点击 Settings,出现:
在这里插入图片描述
再点击 SSH and GPG keys,出现:
在这里插入图片描述
点击 New SSH key
在这里插入图片描述
填写 Title 下面的长框
Key 下面的文本框 复制 cat ~/.ssh/id_rsa.pub 的内容
再点击 Add SSH key
这时 GitHub 会跳转到登录页面,输入 用户名和密码重新登录

4. 本地文档上传至Github

  1. 查看能否连接到Github
$ ssh -T git@github.com
Hi 6master6! You've successfully authenticated, but GitHub does not provide shell access.
  1. 设置用户名和邮箱
    用户名和邮箱为注册Github时的名字
$ git config --global user.email xxx@gmail.com
$ git config --global user.name “6master6”
$ git config -l
user.email=xxx@gmail.com
user.name=“6master6”
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@github.com:6master6/llm_study.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.main.remote=origin
branch.main.merge=refs/heads/main
  1. 新建本地代码仓库
$ cd ~/your_directory

3.1 使用 git init 命令,可以将一个普通的目录转变为一个可以使用 Git 进行版本控制的代码库。在代码库中,Git 将跟踪和管理代码的历史记录、分支和更改。

$ git init
Initialized empty Git repository in /home/wxf/workspace/LLM/LLM-quickstart/transformers/.git/

在 Git 中,代码更改需要经过两个步骤才能被提交到代码库:

工作区(Working Directory):这是当前正在进行编辑和修改的文件和目录。
暂存区(Staging Area):这是一个中间区域,用于暂时存储要提交的更改。

3.2 使用 git add 命令,可以将工作区中的文件或目录的更改添加到暂存区

$ git add file.txt          # 添加file.txt文件
$ git add your_directory/         # 添加整个目录
$ git add .                  # 添加当前目录下的所有文件和目录

3.3 使用 git commit 命令将暂存区的更改提交到本地代码库,并附带提交消息
-m “Update README file”:使用 -m 参数指定提交消息,该消息是对提交的更改进行简要描述的字符串。示例中,提交消息是 “Update README file”,它描述了对 README 文件的更新

$ git commit -m "Update README file"

提交后,更改将永久保存在本地代码库中,并获得一个唯一的提交标识符(commit hash)。

3.4 使用 git log 会显示当前分支的提交历史记录,并为每个提交显示其标识符。
git log 命令会按照提交时间的倒序显示提交记录,最新的提交在最上方。每个提交记录包含有关提交的信息,如提交标识符(commit hash)、作者、提交日期和提交消息。

$ git log

3.5 使用git status 用于显示当前代码库的状态信息。它会告诉您有关尚未提交的更改、已暂存的更改以及其他与代码库状态相关的信息。

$ git status
On branch main
Your branch is up to date with 'origin/main'.

3.6 使用 git branch 用于创建、列出、重命名和删除分支。分支是指向提交历史的可移动指针,它允许在代码库中独立地开发和修改不同的功能、修复错误或实验性的工作。
3.6.1 创建分支: 使用 git branch 命令创建一个新的分支。例如,要创建名为 “feature” 的分支,可以执行以下命令:

$ git branch feature

3.6.2 列出分支: 使用 git branch 命令(无参数)可以列出当前代码库中的所有分支。当前分支前会有一个星号标记。例如:

  feature
* main

3.6.3 切换分支: 要切换到其他分支,可以使用 git checkout 命令。例如,要切换到名为 “feature” 的分支,执行以下命令:

$ git checkout feature
Switched to branch 'feature'

3.6.4 重命名分支: 使用 git branch -m 命令可以将分支重命名为新的名称。例如,要将名为 “feature” 的分支重命名为 “new-feature”,执行以下命令:

$ git branch -m feature new-feature
$ git branchmain
* new-feature

3.6.5 删除分支: 使用 git branch -d 命令可以删除指定的分支。请注意不能删除当前所在的分支。例如,要删除名为 “feature” 的分支

$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
$ git branch -d feature
error: branch 'feature' not found.
$ git branch -d new-feature
Deleted branch new-feature (was b66b7cb).
  1. 提交本地代码到Github

4.1 git remote add origin 用于将远程代码库与本地代码库进行关联。它允许将一个远程代码库(通常是在 Git 服务器上)与正在处理的本地代码库进行连接。

git remote add <remote-name> <remote-url>

origin 是远程代码库的别名,可以自由命名,通常将其命名为 “origin”。 是远程代码库的 URL 地址,它指定了远程代码库的位置

$ git remote add origin git@github.com:6master6/llm_study.git

4.2 git push 用于将本地代码库的提交推送到远程代码库。它将在本地所做的代码更改上传到远程代码库,使其他人能够查看和访问您的更改。

git push <remote-name> <branch-name>

remote-name是远程代码库的别名,指定了要推送到的远程代码库。branch-name 是要推送的本地分支的名称
Git 在本地分支 “main” 上的提交推送到名为 “origin” 的远程代码库:

git push origin main

git push 命令的常见用法包括:

  1. 将本地分支的提交推送到远程代码库。
  2. 在推送时使用 -u 或 --set-upstream 选项,将本地分支与远程分支进行关联,以便在后续的 git pull 或 git push 中可以直接使用分支名称,而无需指定远程代码库和分支名称。
  3. 使用 --force 选项强制推送,覆盖远程分支上的提交,但在使用此选项时要小心,以免覆盖他人的工作。

4.3 git pull 用于从远程代码库拉取最新的更新并合并到本地代码库中。它可以将远程代码库的最新更改同步到本地代码库,以确保工作处于最新状态。

git pull <remote-name> <branch-name>

Git 将会从名为 “origin” 的远程代码库拉取最新的更改,并将其合并到当前所在的分支中:

git pull origin main

git pull 命令的常见用法包括:

  1. 从远程代码库拉取最新的更改并将其合并到当前分支。
  2. 在拉取时使用 --rebase 选项,将本地的提交重新应用到拉取的远程分支的顶部,以避免产生额外的合并提交。
  3. 使用 --force 选项强制拉取,覆盖本地的更改。
  4. 在拉取时使用 --all 选项,从所有远程分支中拉取更新。
$ git push -u origin main
To github.com:6master6/llm_study.git! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'git@github.com:6master6/llm_study.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
$ git pull origin main
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 16.04 KiB | 74.00 KiB/s, done.
From github.com:6master6/llm_study* branch            main       -> FETCH_HEAD* [new branch]      main       -> origin/main
Merge made by the 'recursive' strategy.
$ git push -u origin main
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 9.37 KiB | 3.12 MiB/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To github.com:6master6/llm_study.git23bf525..b66b7cb  main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

5. 问题解决

5.1 fatal: 远程 origin 已经存在

此时只需要将远程配置删除,重新添加即可

git remote rm origin

5.2 git操作是出现Username for ‘https://github.com’:的验证问题

参考:

  1. git push提示Username for ‘https://github.com’ 解决办法
  2. git操作是出现Username for ‘https://github.com’:的验证问题

6. 参考

  1. 上传本地文件(夹)到GitHub和更新仓库文件
  2. 两种方法上传本地文件到github

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

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

相关文章

【PLC】现场总线和工业以太网汇总

1、 现场总线 1.1 什么是现场总线 1&#xff09;非专业描述&#xff1a; 如下图&#xff1a;“人机界面”一般通过以太网连接“控制器(PLC)”&#xff0c;“控制器(PLC)”通过 “现场总线”和现场设备连接。 2&#xff09;专业描述&#xff08;维基百科&#xff09; 现场总线…

WAAP全站防护是什么,有什么作用

WAAP全站防护是基于风险管理和WAAP理念打造的安全方案&#xff0c;以“体系化主动安全” 取代安全产品的简单叠加&#xff0c;为各类Web、API业务等防御来自网络层和应用层的攻击&#xff0c;帮助企业全面提升Web安全水位和安全运营效率。 主要的特性在于&#xff1a; 1.全周…

C语言例:设 int a=11; 则表达式 a+=a-=a*a 的值

注&#xff1a;软件为VC6.0 代码如下&#xff1a; #include<stdio.h> int main(void) {int a11, b;b (aa-a*a); //a*a121 -->a-121结果为a-110 -->a-110结果为a-220printf("表达式aa-a*a 的值为&#xff1a; %d\n",b);return 0; } //优先级&#x…

ADO .Net操作SQL Server数据库

//ADO.NET是.NET Framework提供的数据访问服务的类库&#xff0c;应用程序可以使用ADO.NET连接到这些数据源&#xff0c;并检索、处理和更新数据 //常用的数据源包括四种&#xff1a;&#xff08;1&#xff09;Microsoft SQL Server数据源&#xff1a;使用System.Data.SqlClien…

DC-1靶机渗透测试

DC-1靶机渗透测试 一、信息搜集1、嗅探寻找存活主机2、查找开放端口3、查找敏感目录 二、漏洞利用1、web访问2、寻找Drupal 的config文件3、寻找网站登录密码4、寻找靶机的用户名和密码5、远程登录6、提权 一、信息搜集 1、嗅探寻找存活主机 命令&#xff1a;arp-scan -l 找到…

基于单片机的智能小车泊车系统设计

摘 要:随着信息技术的进步,汽车逐渐朝着安全、智能方向发展,智能泊车系统的出现不仅能帮助人们更加快速、安全地完成泊车操作,而且适用于狭小空间的泊车操作,降低驾驶员泊车负担,减轻泊车交通事故发生率。文章基于单片机设计自动泊车系统,以单片机为核心来实现信息收集及…

【Numpy】练习题100道(51-75题)

&#x1f33b;个人主页&#xff1a;相洋同学 &#x1f947;学习在于行动、总结和坚持&#xff0c;共勉&#xff01; #学习笔记# Git-hub链接 目录 1.题目列表 2.题解 1.题目列表 51. 创建一个表示位置&#xff08;x,y&#xff09;和颜色&#xff08;r,g,b&#xff09;的结…

C#控制台贪吃蛇

Console.Write("");// 第一次生成食物位置 // 随机生成一个食物的位置 // 食物生成完成后判断食物生成的位置与现在的蛇的身体或者障碍物有冲突 // 食物的位置与蛇的身体或者障碍物冲突了&#xff0c;那么一直重新生成食物&#xff0c;直到生成不冲突…

19双体系Java学习之数组的Arrays类

数组的Arrays类 ★小贴士 sort方法对数组进行排序&#xff0c;方法调用完成后&#xff0c;数组按升序排列。 binarySearch方法对数组进行二分查找&#xff0c;如果能找到需要查找的元素则返回该元素的下标&#xff0c;否则返回一个负数&#xff0c;详见binarySearch的范例代码。…

如何将Excel两列数据转换为统计图、曲线图、折线图?如何自定义某一列作为Excel的统计图横纵坐标?

这样&#xff0c;横坐标就更换为指定选中的数据了 我们还可以修改统计图的样式 也可以修改统计图的类型

代码随想录算法训练营第41天 | 01背包问题(二维+一维) ,416. 分割等和子集

动态规划章节理论基础&#xff1a; https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 01背包理论基础 链接&#xff1a;https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%…

redis学习-List类型相关命令以及特殊情况分析

目录 1. lpush key value1 value2 ... 2. lrange key start end 3. lpop key num 4. rpush key value1 value2 ... 5. rpop key num 6. lindex key index 7. llen key 8. lrem key num value 9. rpoplpush key1 key2 10. lset key index value 11. linsert key before/after…

Python基础算法解析:支持向量机(SVM)

支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种用于分类和回归分析的机器学习算法&#xff0c;它通过在特征空间中找到一个最优的超平面来进行分类。本文将详细介绍支持向量机的原理、实现步骤以及如何使用Python进行编程实践。 什么是支持向…

栈与队列|150.逆波兰表达式求值

力扣题目链接 class Solution { public:int evalRPN(vector<string>& tokens) {// 力扣修改了后台测试数据&#xff0c;需要用longlongstack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" || tokens[i] "-&qu…

南卡罗来纳州历史和文化经济地理和自然政治和社会教育1. 加州大学公布2024年秋季入学新生和转学申请数据2. 2024考研国家线公布路德会信徒核心信仰礼拜和

目录 南卡罗来纳州 历史和文化 经济 地理和自然 政治和社会 教育 1. 加州大学公布2024年秋季入学新生和转学申请数据 2. 2024考研国家线公布 路德会信徒 核心信仰 礼拜和实践 分布 社会和文化影响 约翰塞巴斯蒂安巴赫 生平简介 音乐风格和作品 遗产和影响 …

【Spring 篇】SpringMVC拦截器:给你的应用增添色彩

嗨&#xff0c;亲爱的小伙伴们&#xff01;欢迎来到这段关于SpringMVC拦截器的奇妙之旅。今天我们要一探究竟&#xff0c;深入挖掘拦截器的神秘面纱&#xff0c;看看它是如何在你的应用中悄然发挥作用的。别怕&#xff0c;我会用最通俗易懂的语言&#xff0c;一步一步带你走进这…

银行合规线上知识竞赛活动方案

合规知识大闯关 作为全国竞赛氛围预热项目&#xff0c;组织市县中心、代理网点人员参与合规知识大闯关答题。 1.建立线上答题平台&#xff0c;参与人通过手机、电脑等方式&#xff0c;填写个人基本信息登录。 2.答题平台在题库中随机抽取试题。 3.参与人在出现第一次答错后&…

spring boot nacos注册微服务示例demo_亲测成功

spring boot nacos注册微服务示例demo_亲测成功 先安装好Nacos Nacos安装使用 创建Maven项目 结构如图 例如项目名为: test-demo 下面有个子模块: test-demo-data-process 父模块pom.xml <?xml version"1.0" encoding"UTF-8"?> <project …

基于VJ算法(Viola-Jones algorithm)的人面定位算法,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

二、yocto 集成ros2(基于raspberrypi 4B)

yocto 集成ros2 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第二篇文章。 上一小节已经使用yocto编译出了raspberrypi 4B的image。并且成功刷机并且启动登陆&#xff1a; 一、yocto 编译raspberrypi 4B并启动 本节我们将ros2机器人操作系统移植到我们的yocto系统里面。…