【经验总结】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 branch
  main
* 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.git
   23bf525..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

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

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

相关文章

sqllab第十八关通关笔记

知识点&#xff1a; UA注入 不进行url解析&#xff0c;不能使用 %20 编码等操作出现在User-agent字段中一般为insert语句 insert 表名(字段1&#xff0c;字段2&#xff0c;。。。) values(数据1&#xff0c;数据2&#xff0c;。。。) 通过admin admin进行登录发现页面打印出了…

arp动态表缓存清除

一、arp表里清除表状态&#xff1a; 1&#xff0c;Delay&#xff1a;请求arp 2&#xff0c;Reachab&#xff1a;响应arp 3&#xff0c;Stale此状态下&#xff0c;待gc_stale_time超时后&#xff0c;准备gc_interval定期清理 二、限制条件 base_reachable_time&#xff1a;后变…

数据结构的概念大合集04(队列)

概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.…

双指针 | 移动零 | 复写零

1.移动零 题目描述&#xff1a; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 示例&#xff1a; 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]解题思路&#xff1a; right指针一直往后移动&#xff0c;当…

Java实现简单的通讯录

每日一言 泪眼问花花不语&#xff0c;乱红飞过秋千去。 —欧阳修- 简单的通讯录实现&#xff0c;跟写Java实现图书管理系统差不多&#xff0c;用到的知识也差不多&#xff0c;就当个小练习&#xff0c;练习一下写Java程序的手感。 Java实现图书管理系统 关于通讯录的代码都写…

【JVM】(内存区域划分 为什么要划分 具体如何分 类加载机制 类加载基本流程 双亲委派模型 类加载器 垃圾回收机制(GC))

文章目录 内存区域划分为什么要划分具体如何分 类加载机制类加载基本流程双亲委派模型类加载器 垃圾回收机制&#xff08;GC&#xff09; 内存区域划分 为什么要划分 JVM启动的时候会申请到一整个很大的内存区域,JVM是一个应用程序,要从操作系统这里申请内存,JVM就需要根据,把…

Android Studio字体大小调节

外观页面字体调节 settings->Appearance->User cunstom font 代码字体调节 Settings->Editor->Font此时logcat窗口、Build窗口和Ternimal窗口字体大小也会同步调节&#xff08;2023.2.1版本上验证&#xff09;

基于Springboot和Redis实现的快递代取系统

1.项目简介 本项目基于springboot框架开发而成&#xff0c;前端采用bootstrap和layer框架开发&#xff0c;系统功能完整&#xff0c;界面简洁大方&#xff0c;比较适合做毕业设计使用。 本项目主要实现了代取快递的信息管理功能&#xff0c;使用角色有三类&#xff1a;一是客…

Elasticsearch 主副分片切换过程中对业务写入有影响吗

&#x1f34a;&#x1f349;&#x1f34b; 先说下结论&#xff0c;只要集群中的工作节点过半&#xff0c;有候选的master节点&#xff0c;挂掉的节点中不同时包含索引的主分片和副分片&#xff0c;那么ES是可以做到让业务无感知的进行主副分片切换的。 蓝胖子会先讲解下ES集群写…

ARM_基础之RAS

Reliability, Availability, and Serviceability (RAS), for A-profile architecture 源自 https://developer.arm.com/documentation/102105/latest/ 1 Introduction to RAS 1.1 Faults,Errors,and failures 三个概念的区分&#xff1a; • A failure is the event of devia…

外包干了3天,技术明显进步。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入南京某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

16、技巧之九: 修改参数,如何让表格翻页滚动到底部?【Selenium+Python3网页自动化总结】

1、问题提出 在网页配置参数时&#xff0c;输入参数名称搜索&#xff0c;搜出来的同名参数结果有多个&#xff0c;分布在一个表格的不同行&#xff0c;表格是动态加载的&#xff0c;需要滚动鼠标才能把所出参数找出来。用selenium怎么实现这种参数修改&#xff1f; 2、网页元素…

JVM学习-JVM的自动优化

目录 1.语法糖 1.1默认构造器 1.2自动拆装箱 1.3泛型集合取值 1.4可变参数实现 1.5 foreach循环 1.6 switch配合String使用 1.7 switch配合枚举使用​编辑 1.8 try-with-resources 1.9方法重写的桥接方法 2.运行时优化 2.1分层优化以及逃逸分析 2.2方法内联 2.3字段优化 JVM会…

产品推荐 - 基于FPGA XC7K325T+DSP TMS320C6678的双目交汇视觉图像处理平台

一、产品概述 TES601是一款基于FPGA与DSP协同处理架构的双目交汇视觉图像处理系统平台&#xff0c;该平台采用1片TI的KeyStone系列多核浮点/定点DSP TMS320C6678作为核心处理单元&#xff0c;来完成视觉图像处理算法&#xff0c;采用1片Xilinx的Kintex-7系列FPGA XC7K325T作为视…

​​SQLiteC/C++接口详细介绍之sqlite3类(十)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;九&#xff09; 下一篇&#xff1a;​​SQLiteC/C接口详细介绍之sqlite3类&#xff08;十一&#xff09; 30.sqlite3_enable_load_extension&#x…

三、NLP中的句子关系判断

句子关系判断是指判断句子是否相似&#xff0c;是否包含&#xff0c;是否是问答关系等&#xff0c;常应用在文本去重、检索&#xff08;用户输入和文档的相关性&#xff09;、推荐&#xff08;和用户喜好文章是否相似&#xff09;等场景中。 3.0、文本相似度计算 3.0.0 传统机…

更改el-tabs默认样式,实现tab标签居中显示,标签对应内容使用另一个div显示

首先看效果图 如图所示&#xff0c;标签在浏览器窗口居中&#xff0c;但是下面的内容依然是默认从左到右&#xff0c;不会受到tab样式的影响 <template><div><div style"display: flex; justify-content: center; align-items: center;"><el-…

JVM学习-JVM简介以及其内部结构

目录 1.什么是JVM 2.JVM、JRE、JDK、JavaSE、JavaEE之间的联系 3.JVM的内部结构 4.各部分的作用 4.1 类加载器 4.2 方法区 4.3 堆 ​编辑 4.4 虚拟机栈 4.5 程序计数器 4.6 本地方法栈 4.7 解释器和JIT即时编译器 4.9 GC垃圾回收 5.拓展 5.1一些可能会遇到的问…

Mysql 死锁案例4-delete 相邻记录导致死锁

死锁复现 CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,d int(11) DEFAULT NULL,PRIMARY KEY (id),KEY c (c) ) ENGINEInnoDB DEFAULT CHARSETutf8;/*Data for the table t */insert into t(id,c,d) values (0,0,0),(5,5,5),(10,10,10),(15,15,15) 事务1事…

C语言初学12:强制类型转换

一、强制数据类型转换举例 1.1 double赋值给int #include<stdio.h> int main() {double sum 18, count 5;int mean;mean sum / count;printf("Value of mean : %d\n", mean);} 执行结果&#xff1a; double赋值给int&#xff0c;小数部分会删除&#xff…