随笔—git操作

1. 创建一个 GitHub 仓库

  • 登录到 GitHub。
  • 点击右上角的 “+” 按钮,然后选择 “New repository”。
  • 填写仓库名称和描述,选择是否公开,最后点击 “Create repository”。

2. 在本地初始化 Git 仓库(如果尚未初始化)

在你的工程目录中打开终端,执行:
git config --global user.name "zhiqianzheng"
git config --global user.email "774065267@qq.com"

git init

git add .

3. 添加远程仓库

将你刚创建的 GitHub 仓库添加为远程仓库,执行:

git remote add origin https://github.com/你的用户名/仓库名.git 

你的用户名仓库名 替换为实际信息。

b82be13e37794dc18dd2620af0383afe.png

 

git remote -v  #确认仓库是否设置好

要将远程的 main 分支清空并重新推送本地的 master 分支内容,可以按照以下步骤操作

d00d9ec5cdc949e8ba1ae1404ef589e1.png

4. 增删改查

当你想把本地的分之推送到远端仓库main仓库的时候,如果

如果你还没有提交过文件,可以使用以下命令:

git add .

git commit -m "Initial commit"

git status

git diff HEAD "文件名"  #查看某个文件在上一次commmit之后修改了哪些地方

208785afa0404589b0e8bfb4efefa4f8.png

 

git checkout – file    #舍弃对文件修改,让该文件恢复到上次提交时候的状态

9b4629eb0ae6425a838a8be00454f008.png

 git reset HEAD "文件名" 

git reset HEAD <file> 可以用来取消暂存(unstage)一个文件。其实就相当于撤销 git add <file>这个操作

7d07d71f0cdd4bae9ed6c9b1e5e9baaa.png

 

git branch -a查看所有分支

git branch "分支名"  #切换到某个现有本地分支

git checkout -b dev   #创建并切换到dev分支(等价于git branch dev 加 git checkout dev)

git merge    #git合并分支
当我们新建分支并做完工作之后,想要把分支提交至master,只需要切换到master仓库,并执行git merge 分支名就可以了。如我们在分支中新建了一个f.c和test.c的文件,然后在使用git checkout master切换到主分支master,再使用git merge dev将其合并


 

git reset --hard 50a327e4190eb90f17f1abfa836e3aa969355f23 #切换到指定的某次提交版本

git reflog查看所有提交过的log和哈希值,git reset --hard +哈希值,可以回到任意一个历史提交的版本

git push origin --delete ”远程分支名“   #删除远程某个分支

git branch -D “本地分支名”    #删除本地分支

5. 克隆与推送

git clone “云端仓库地址”   #从云端仓库拉代码在,clone时默认是把当前地址里面的所有分支全部clone下来,但是只有master会显示

git push -u origin master #推送本地git仓库到github云端仓库,第一次使用push的时候加上-u,以后可不加

9bea97747feb4fd9a0fd6d565264c36e.png

如果你使用的是主分支以外的分支,替换 master 为对应的分支名称。

6. 输入凭据

如果在推送的时候提示这种失败
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

这个错误提示表示你没有使用 SSH 密钥进行身份验证。你需要生成 SSH 密钥并将其添加到 GitHub 账户。请按照以下步骤操作:

1.生成 SSH 密钥: ssh-keygen -t rsa -b 4096 -C "774065267@qq.com" 按照提示操作,通常直接按回车即可使用默认路径。

2.添加 SSH 密钥到 ssh-agent

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/id_rsa

3.cat ~/.ssh/id_rsa.pub  #将结果复制下来

4.将公钥添加到 GitHub

  • 登录 GitHub。
  • 进入 Settings > SSH and GPG keys
  • 点击 New SSH key,将复制的公钥粘贴进去,给它起个名字,点击 Add SSH key

5.再次推送:git push -u origin master:main

b182b46b30cf476bbd363ce3abc6ed99.png

7fd6988782b44c97a950ab95a16f2771.png

 

git checkout --orphan temp_branch  # 创建一个新分支

  1. git commit --allow-empty -m "Clearing main branch"
    git push origin temp_branch:main --force  # 强制推送到远程的 main
    git checkout master  # 切换回 master

  2. 按照提示操作,通常直接按回车即可使用默认路径。

  3. 添加 SSH 密钥到 ssh-agent

    eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa

  4. 复制公钥

    cat ~/.ssh/id_rsa.pub

    将输出的内容复制。

  5. 将公钥添加到 GitHub

    • 登录 GitHub。
    • 进入 Settings > SSH and GPG keys
    • 点击 New SSH key,将复制的公钥粘贴进去,给它起个名字,点击 Add SSH key
  6. 再次推送: 现在再次尝试执行推送命令:

    git push -u origin master:main        


 

如果系统提示输入用户名和密码,输入你的 GitHub 用户名和密码(或访问令牌)。

完成后,你的工程应该就会出现在 GitHub 的仓库中。
 

1. 使用个人访问令牌(PAT)

  1. 创建个人访问令牌

    • 登录到你的 GitHub 账户。
    • 转到 Settings > Developer settings > Personal access tokens > Tokens (classic)
    • 点击 Generate new token,选择所需的权限(例如 repo 权限),然后生成令牌。
  2. 在推送时使用令牌

    • 当你被提示输入用户名时,输入你的 GitHub 用户名。
    • 当你被提示输入密码时,输入你生成的个人访问令牌。

 

 

推送成功后:

69743c76dd2940899d848a4887c4dc80.png

将本地zzq_wifi_app_develop推送到云端,云端分支同名

将本地master分之推到远端的main分支

 

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

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

相关文章

【Lammps】atomsk安装与环境变量设置(Linux环境)

【Lammps】atomsk安装与环境变量设置&#xff08;Linux环境&#xff09; 官网配置环境变量测试 官网 https://atomsk.univ-lille.fr/dl.php 下载的安装包如下&#xff1a; 使用Linux的解压命令进行解压&#xff1a; tar -xzvf file.tar.gz注意&#xff1a;file.tar.gz 替换…

【Vue 3】最全组件设计指南:从基础到进阶

&#x1f9d1;‍&#x1f4bc; 一名茫茫大海中沉浮的小小程序员&#x1f36c; &#x1f449; 你的一键四连 (关注 点赞收藏评论)是我更新的最大动力❤️&#xff01; &#x1f4d1; 目录 &#x1f53d; 前言1️⃣ 组件的基础概念与构建2️⃣ 组件通信的核心技术3️⃣ 组件的生命…

【文献及模型、制图分享】中国自然保护地典型治理模式成效比较——基于社区居民感知视角

采取何种治理模式能够更好地提升自然保护地治理的生态、社会和经济成效?基于制度分析与发展&#xff08;IAD&#xff09;框架&#xff0c;选择大熊猫国家公园内部及周边17个社区&#xff0c;通过问卷调查、半结构化访谈、单因素方差、逐步回归分析&#xff0c;比较统治、分治和…

CSP/信奥赛C++刷题训练:经典二分答案例题(3): 洛谷P2920:Time Management S

CSP/信奥赛C++刷题训练:经典二分答案例题(3) [USACO08NOV] Time Management S 题目描述 Ever the maturing businessman, Farmer John realizes that he must manage his time effectively. He has N jobs conveniently numbered 1…N (1 <= N <= 1,000) to accompl…

Spring Boot集成iText实现电子签章

文章目录 一 电子签章1.1 什么是电子签章1.2 签名流程1.3 技术选型 二 实战2.1 生成数字证书2.2 生成印章图片2.3 PDF 签名 一 电子签章 1.1 什么是电子签章 基于《中华人民共和国电子签名法》等相关法规和技术规范&#xff0c;具有法律效力的电子签章一定是需要使用 CA 数字…

Unbounded:一个无限生成式交互的角色生活模拟游戏

❤️ 如果你也关注大模型与 AI 的发展现状&#xff0c;且对大模型应用开发非常感兴趣&#xff0c;我会快速跟你分享最新的感兴趣的 AI 应用和热点信息&#xff0c;也会不定期分享自己的想法和开源实例&#xff0c;欢迎关注我哦&#xff01; &#x1f966; 微信公众号&#xff…

Vertx实现和spring的application.yml自动配置加载

前言 在用vertx写项目的时候&#xff0c;由于需要不同的环境加载不同的配置文件&#xff0c;这里就需要和spring架构的application.yml配置文件一样&#xff0c;可以根据环境变量加载不同的配置。 代码 引入vertx相关依赖 <dependency><groupId>io.vertx</gr…

ECharts饼图-饼图自定义样式,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个饼图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供详…

猫头虎 分享:前端工具 NVM 的简介、安装、用法详解入门教程

&#x1f42f; 猫头虎 分享&#xff1a;前端工具 NVM 的简介、安装、用法详解入门教程 今天猫头虎带您深入了解 NVM&#xff01;最近&#xff0c;猫哥在项目中遇到一个前端小伙伴&#xff0c;询问如何在开发过程中高效地切换不同的 Node.js 版本。前端项目往往需要特定版本的 …

二分查找_在排序数组中查找元素的第一个和最后一个位置

1.朴素二分查找 .二分查找 二分查找思路&#xff1a; 1.left0,rightnums.size()-1&#xff08;最后一个元素下标&#xff09;&#xff0c;取中间元素下标 midleft(right-left)/2 &#xff08;防溢出&#xff09; 2.nums[mid]>target &#xff0c;说明mid右边的元素都大于ta…

Discuz 论坛开发一套传奇发布站与传奇开服表

Discuz 论坛开发一套传奇发布站与传奇开服表 随着互联网技术的飞速发展&#xff0c;网络游戏已成为人们休闲娱乐的重要方式之一。在众多网络游戏中&#xff0c;传奇系列以其独特的魅力吸引了大量忠实玩家。为了满足这些玩家的需求&#xff0c;并促进游戏信息的交流与分享&…

QtCreator通过CMake多文件编译.cpp、.qss、.h、.ui文件,达到MVC三层架构的效果

博主在构建C项目的时候&#xff0c;一般都喜欢将头文件和源文件分开为不同的文件夹&#xff0c;比如include目录下只存放.h文件和.ui文件&#xff0c;src目录下只存放.cpp和.qss文件&#xff0c;res目录下只存放图片、音频等文件&#xff0c;这时候使用CMake对项目进行分文件管…

qml圆形图片,qml圆形头像制作

代码比较简单&#xff0c;就不细讲了&#xff0c;大家直接看下面源码吧&#xff01;如果对你有所帮助&#xff0c;可以帮角角点个关注嘛&#xff1f; import QtQuick import QtQuick.Effects import Qt5Compat.GraphicalEffectsWindow {width: 640height: 480visible: truetit…

使用代理服务器后sse数据合并问题

如果是使用本地代理服务器devServer compress:false,如果是发布到生产环境下的代理服务器nginx 增加如下配置&#xff0c;该配置同时支持websocket和sse proxy_http_version 1.1; #设置代理请求使用 HTTP/1.1 版本。WebSocket 需要 HTTP/1.1&#xff0c;因为它支持持久连接和更…

【每日一题】LeetCode - 盛最多水的容器

给定一个长度为 n 的整数数组 height。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。要求找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 输入示例&#xff1a; height [1,8,6,2,5,4,8,3,7]输出&#xff1a; 4…

Python快速入门教程

目录 1. Python 简介 2. 环境准备 3. 第一个 Python 程序 4. 变量与数据类型 5. 基本操作与控制结构 6. 函数与模块 7. 实践项目 结语 Python 是一种非常友好的编程语言&#xff0c;特别适合初学者。它的语法简洁&#xff0c;容易上手&#xff0c;并且广泛应用于各种领…

C++结合图形编程与物联网:你更偏向哪种方式来学习信息学奥赛?

随着信息学奥赛在全国范围内的热度逐年攀升&#xff0c;学生和家长们越来越重视如何有效备赛。传统的编程学习方式侧重于算法和数据结构&#xff0c;但随着科技的发展&#xff0c;图形化编程与物联网&#xff08;IoT&#xff09;项目逐渐成为新兴的学习路径。通过C结合图形化编…

Rust 力扣 - 1. 两数相加

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用一个全局的备忘录&#xff0c;然后我们遍历数组&#xff0c;如果当前元素在备忘录里面找到了&#xff0c;就返回备忘录里面记录的下标和当前下标记录&#xff0c;没找到就把当前元素匹配的元素和当前元素…

人工智能_神经网络103_感知机_感知机工作原理_感知机具备学习能力_在学习过程中自我调整权重_优化效果_多元线性回归_逻辑回归---人工智能工作笔记0228

由于之前一直对神经网络不是特别清楚,尤其是对神经网络中的一些具体的概念,包括循环,神经网络卷积神经网络以及他们具体的作用,都是应用于什么方向不是特别清楚,所以现在我们来做教程来具体明确一下。 当然在机器学习之后还有深度学习,然后在深度学习中对各种神经网络的…

Java对称加密:AES 高级加密标准

1、对称加密简述 对称加密&#xff0c;又称对称密钥加密或私钥加密&#xff0c;是一种在加密和解密过程中使用相同一个密钥的加密算法。这种加密方式的核心在于&#xff0c;发送方使用某个密钥对数据进行加密&#xff0c;接收方则使用完全相同的密钥对数据进行解密。由于加密和…