添加账号

git config --global user.name "YourName"
git config --global user.email "your_email@example.com"

设置 Git 默认分支名称为 main

git config --global init.defaultBranch main

初始化仓库:

git init

配置SSH 密钥

如果你使用 SSH 方式连接 GitHub,需要生成并添加 SSH 密钥到 GitHub:

ssh-keygen -t rsa -b 4096 -C "your@email.com"

然后将 ~/.ssh/id_rsa.pub 中的内容复制粘贴到 GitHub 的 Settings > SSH and GPG keys 页面。

初始化本地仓库并上传代码

情况一:新建项目上传到 GitHub
# 进入你的项目目录
cd /path/to/your/project# 初始化 Git 仓库
git init# 添加所有文件到暂存区
git add .# 提交更改
git commit -m "Initial commit"# 关联远程仓库(HTTPS方式)
git remote add origin https://github.com/your-username/repo-name.git# 或者使用 SSH 方式(推荐)
git remote add origin git@github.com:your-username/repo-name.git# 推送代码到 GitHub 主分支(main)
git push -u origin main

💡 如果你本地是 master 分支,而 GitHub 默认是 main,你可以重命名分支:

git branch -M main

情况二:已有 GitHub 仓库,克隆到本地再提交代码
# 克隆远程仓库到本地
git clone https://github.com/your-username/repo-name.git# 进入项目目录
cd repo-name# 添加新文件或修改内容
# ...# 添加更改
git add .# 提交更改
git commit -m "Add new feature"# 推送到远程仓库
git push origin main

提交修改到本地(切换分支时候需要先执行这一步)

git add .
git commit -m "保存当前工作进度"

查看当前 Git 仓库关联的远程库

git remote -v

这个命令会列出所有与该仓库关联的远程库及其 URL。输出结果通常看起来像这样:

origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)

在这个例子中,origin 是远程库的名字,而 https://github.com/user/repo.git 是远程库的 URL。(fetch)(push) 表明该远程库用于 fetch(拉取) 和 push(推送) 操作。通常情况下,你会看到同一个 URL 对应着 fetch 和 push 操作,但也可以配置不同的远程库分别用于这些操作。

如果你只想知道用于推送的远程库,可以专注于那些标注了 (push) 的行。例如,上面的例子显示 origin 远程库被配置为向 https://github.com/user/repo.git 推送更改。

添加远程库

git remote add github git@github.com:ergevv/xxxxx.git

这个仓库在电脑本地叫github,指向的是github的仓库。

git push github master

将本地的分支推送到github指向的git@github.com:ergevv/xxxxx.git仓库的master分支。

推送到特定分支

  1. 查看当前分支
git branch
  1. 创建并切换到 main 分支
git checkout -b main

这会基于当前提交创建一个新的 main 分支,并切换过去。

  1. 设置远程跟踪(关联远程仓库的 main 分支)
    如果你确定远程仓库已经有 main 分支,可以直接拉取:
git checkout -b main origin/main

创建一个新的本地分支 main,并让它跟踪远程分支 origin/main(也就是你之前添加的远程仓库 github 的 main 分支),然后切换到这个新分支。

  1. 推送本地 main 分支到 GitHub 的 main
git push github main

这样就会把你的本地 main 分支推送到 GitHub 上的 main 分支了。


清理远程的分支

git push github --delete master

删除本地指向的仓库:

git remote remove github

将本地的分支 dev/test 推送到 GitHub 上的远程仓库,并且希望它被推送到 远程的 master 分支:

git push github dev/test:master

下载指定分支

  1. 命令格式:
git clone -b <分支名> <仓库地址> <本地目录名(可选)>

示例:从 GitHub 下载名为 dev/test 的分支:

git clone -b dev/test https://github.com/ergevv/xxxx.git
  1. 如果已经克隆了仓库,但想切换到其他分支
cd path/to/project     # 进入已克隆的项目目录
git fetch               # 获取远程所有分支信息
git checkout dev/test  # 切换到指定分支

如果提示 Branch 'dev/mcapRecord' not found,说明你需要先拉取远程分支:

git fetch origin dev/test
git checkout -b dev/test origin/dev/test

fetch和pull的区别

git fetch 是 Git 中一个非常有用的命令,它主要用于从远程仓库获取最新的信息和更新,但不会自动合并或修改你当前的工作目录。具体来说,git fetch 的作用可以概括为以下几个方面:

  1. 获取远程更新

    • git fetch 会连接到指定的远程仓库,并拉取所有本地没有的数据(如新的提交、分支等),但不会将这些更改自动合并到你的工作目录中。
    • 这意味着你可以查看远程发生了哪些变化,而不用担心这些变化会直接影响你的工作。
  2. 更新远程引用

    • 它会更新本地关于远程分支的信息(即远程跟踪分支)。例如,如果你在远程仓库上有一个名为 origin/master 的分支,执行 git fetch 后,Git 会确保你的本地 origin/master 指向与远程仓库一致的位置。
  3. 不改变本地分支的状态

    • git pull 不同,git fetch 不会尝试合并或重新应用任何远程的更改到你当前的分支。因此,它是安全的,尤其是在你不确定是否需要将远程的更改合并到当前工作中时。
1. 查看远程分支的变化
git fetch origin
  • 执行上述命令后,你可以通过 git loggit diff 来比较本地分支与远程分支之间的差异。

例如,查看 master 分支与远程 origin/master 的差异:

git log master..origin/master
git diff master origin/master
2. 更新远程跟踪分支

假设你想切换到一个新的远程分支,但该分支尚未在本地存在:

git fetch origin dev/test
git checkout dev/test
  • 这会确保本地有最新的 dev/test 分支信息,然后你可以安全地切换到这个分支。
3. 在合并之前检查远程更改

如果你想在实际合并之前查看远程分支上的最新更改,可以先执行 git fetch,然后手动决定如何处理这些更改(比如是否合并):

git fetch origin
# 现在你可以选择是否以及如何合并
git merge origin/master
# 或者
git rebase origin/master

注意:当git pull时,如何本地有修改的文件,那么该文件拉取时,不是远程仓库的最新版本,而是本地的修改版本。

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

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

相关文章

NLP——迁移学习

一、迁移学习的概念 1.预训练模型(Pretrained model) 定义: 简单来说别人训练好的模型。一般预训练模型具备复杂的网络模型结构&#xff1b;一般是在大量的语料下训练完成的。 2.微调(Fine-tuning) 定义:一般是对预训练语言模型&#xff0c;进行垂直领域数据的微调&#xff0c;…

Ubuntu 安装

文章目录硬件准备下载 Ubuntu 镜像创建可启动 USB从 USB 驱动器启动安装 Ubuntu不要忘记更新&#xff01;用了十多年的笔记本&#xff0c;手边正好有个500G的固态&#xff0c;准备换上。考虑到机器的硬件配置&#xff0c;现在使用windows10实在是有点卡&#xff0c;ubuntu却刚好…

【46】MFC入门到精通——MFC显示实时时间,获取系统当前时间GetCurrentTime()、获取本地时间GetLocalTime()

文章目录1 MFC获取时间方法方法一&#xff1a;获取系统当前时间GetCurrentTime()方法二&#xff1a;获取本地时间GetLocalTime()使用GetTickCount()获取程序运行时间2 MFC显示实时时间 使用方法2.1 获取时间2.2 类向导 添加定时器函数 OnTimer2.3 初始化 设置定时器2.4 定时器函…

Linux717 SWAP扩容;逻辑卷条带化

root192.168.235.20s password:┌────────────────────────────────────────────────────────────────────┐│ • MobaXterm 20.0 • ││ …

人类社会发展过程中的熵增定律

引子研究美国罗斯福新政期间的法案为什么会对美国经济恢复起作用&#xff1f;与千金买马骨和移木赏金之间的区别与联系&#xff1f;以下为豆包 AI回答一、罗斯福新政法案对美国经济起作用的原因罗斯福新政&#xff08;1933-1939年&#xff09;通过一系列政策应对大萧条&#x…

Spring-AI系列-入门篇-核心概念、组件和生产要素

原文-Spring AI知识库&#xff0c;欢迎大家评论互动 师父领进门&#xff0c;修行靠自己。 Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design an…

从浏览器到服务器:TCP 段的网络传输之旅

本文以简化的网络架构为例&#xff0c;详细介绍了当你在浏览器中输入网址&#xff08;例如www.google.com&#xff09;并按下回车键后&#xff0c;TCP段的完整传输过程。我们将探讨DNS解析、ARP、TCP/IP封装、PAT和路由如何协同工作&#xff0c;将数据从个人电脑通过局域网和广…

HCIE - 云计算拿下后的职业选择如何规划?

Hello&#xff01;大家好&#xff0c;小编是一名专注 IT 领域的资深探索家。我们聊聊HCIE - 云计算&#xff0c;这个认证作为华为认证体系中云计算领域的专家级认证&#xff0c;标志着持有者具备企业级云架构设计、复杂云平台运维及跨场景技术落地能力。但认证本身只是职业进阶…

1-创建Vue3项目

创建Vue3项目前提 已安装 18.3 或更高版本的 Node.js vue 官网 https://vuejs.org/ 创建一个 Vue 应用 ① 新建项目目录&#xff0c;使用 VSCode 打开 VSCode 可安装 Vue-Official 插件协助开发 ② 执行 create vue 指令创建 vue 应用 npm create vuelatest这一指令将…

Codex,Copilot 是什么

Codex是什么 Codex 是 OpenAI 研发的一款专注于代码生成的大型语言模型,它可以根据自然语言描述自动编写程序代码,在软件开发、自动化测试等领域展现出了强大的应用潜力。下面为你详细介绍: 1. 核心功能 代码生成:Codex 能够依据自然语言指令生成代码,像函数、类或者完整…

Typecho插件开发:自定义表单验证规则addRule实战指南

文章目录 Typecho表单验证进阶:为插件和主题添加自定义addRule验证规则 引言 一、Typecho表单验证基础 1.1 Typecho表单系统概述 1.2 addRule方法解析 二、自定义验证规则实现 2.1 创建自定义验证类 2.2 注册自定义验证规则 2.3 使用自定义验证规则 三、高级验证场景实现 3.1 …

数据分布是如何影响目标检测精度的

文章目录一、研究背景与目标模型效果提升数据集优化二、研究问题明细各方向的关联性与核心逻辑1. 高质量数据集的高效筛选与主动学习应用2. 基于推理结果的数据补充与增强方向优化3. 多类别场景下目标尺度与模型精度的关联性4. 损失函数与数据增强对精度的量化影响5. 目标类型专…

Python 网络爬虫 —— 代理服务器

一、会话&#xff08;Session&#xff09;&#xff08;一&#xff09;核心逻辑HTTP 本身无记忆&#xff0c;每次请求独立。会话&#xff08;Session&#xff09; 就是为解决这问题&#xff0c;让客户端&#xff08;浏览器&#xff09;和服务器 “记住” 交互状态&#xff08;比…

Vue在线预览Excel和Docx格式文件

前提&#xff1a;本次示例基于Vue2.x&#xff0c;所用插件为Vue-Office。 一、Vue-Office 插件简介 Vue-Office 是一个一站式解决方案&#xff0c;支持多种 Office 文件格式的在线预览&#xff0c;包括&#xff1a; Word&#xff08;.docx&#xff09;Excel&#xff08;.xlsx、…

提升(Boosting)及 Python 示例

咱们结合这张图&#xff0c;把 “提升” 想象成 “做错题本 请老师补课” 的过程&#xff1a;第一波数据&#xff08;最上面的圆圈&#xff09;&#xff1a;“第一次作业”假设你第一次做 100 道数学题&#xff08;图中圆圈里的绿点白点代表不同的题&#xff09;&#xff0c;做…

【生产实践】Linux中NAS挂载丢失后提示“过旧的文件句柄”错误解决

太长不看版&#xff1a; 问题&#xff1a;nas挂载在系统里掉了&#xff0c;使用df或ls访问目录提示过旧的文件句柄解决过程&#xff1a; 和机房联系&#xff0c;发现NAS服务器重启了重新执行mount发现挂不上先umount掉当前挂载&#xff0c;再重新执行mount命令问题解决 umount …

JUnit4

JUnit4 介绍JUnit 是 Java 编程语言的单元测试框架&#xff0c;用于编写和运行可重复的自动化测试。JUnit 特点&#xff1a;JUnit 是一个开放的资源框架&#xff0c;用于编写和运行测试。提供注解来识别测试方法。提供断言来测试预期结果。JUnit 测试允许你编写代码更快&#x…

Python-TCP编程-UDP编程-SocketServer-IO各种概念及多路复用-asyncio-学习笔记

序 欠4前年的一份笔记 &#xff0c;献给今后的自己。 网络编程 Socket介绍 Socket套接字 Python中提供socket.py标准库&#xff0c;非常底层的接口库。 Socket是一种通用的网络编程接口&#xff0c;和网络层次没有一一对应的关系。 协议族 AF表示Address Family&#xff0c;用于…

Mybatis-开发一个类似mybatisplus的mybatis扩展,该怎么入手?

开发一个类似mybatisplus的mybatis扩展&#xff0c;该怎么入手&#xff1f; 要开发一个类似于 MyBatis-Plus 的 MyBatis 扩展框架&#xff0c;你需要从以下几个核心方面入手&#xff0c;逐步构建出一个功能完整、易用性强、兼容性好的增强型 MyBatis 框架。&#x1f9f1; 一、整…

深入了解linux系统—— 信号的捕捉

前言 信号从产生到处理&#xff0c;可以分为信号产生、信号保存、信号捕捉三个阶段&#xff1b;了解了信号产生和保存&#xff0c;现在来深入了解信号捕捉。 信号捕捉 对于1-31号普通信号&#xff0c;进程可以立即处理&#xff0c;也可以不立即处理而是在合适的时候处理&#x…