以下是将本地文件夹与 GitHub 远程仓库绑定并进行日常操作的完整命令流程,特别针对你的需求(忽略数据集、偏好使用 rebase 保持主分支整洁)进行了优化:

一、初始设置(首次绑定)

  1. 在本地项目文件夹初始化 Git 仓库

    cd /path/to/your/local/folder  # 进入你的本地工作文件夹
    git init                       # 初始化本地仓库
    
  2. 创建 .gitignore 文件(关键:忽略数据集)

    # 创建并编辑忽略文件
    touch .gitignore# 用文本编辑器打开 .gitignore 并添加需要忽略的内容,例如:
    # 数据集文件夹
    datasets/
    data/
    # 可能的数据集文件格式
    *.csv
    *.json
    *.h5
    # Cursor 编辑器可能产生的临时文件
    .cursor/
    
  3. 将本地文件添加到暂存区并提交

    git add .                      # 添加所有文件(会自动排除.gitignore中的内容)
    git commit -m "Initial commit" # 首次提交
    
  4. 关联 GitHub 远程仓库

    # 替换为你的 GitHub 仓库 URL
    git remote add origin https://github.com/your-username/your-repo.git
    
  5. 将本地分支推送到远程并建立关联

    # -u 参数设置 upstream,后续可直接用 git push/pull
    git push -u origin main
    

二、日常工作流程(使用 rebase 保持主分支整洁)

  1. 创建新分支进行开发

    # 确保当前在主分支且最新
    git checkout main
    git pull --rebase origin main  # 用 rebase 拉取远程更新,保持线性历史# 创建并切换到新分支(例如 feature/new-function)
    git checkout -b feature/new-function
    
  2. 在新分支上开发并提交

    # 开发完成后提交更改
    git add .
    git commit -m "Add new function"
    
  3. 定期与主分支同步(避免冲突)

    # 切换到主分支
    git checkout main
    # 拉取最新更新(rebase 方式)
    git pull --rebase origin main# 切回开发分支,将主分支的更新合并到当前分支(rebase 方式)
    git checkout feature/new-function
    git rebase main# 如果有冲突,解决后继续
    git add .
    git rebase --continue
    
  4. 将开发完成的分支推送到远程

    git push -u origin feature/new-function
    
  5. 完成开发后合并到主分支

    # 切换到主分支
    git checkout main
    # 再次确保主分支是最新的
    git pull --rebase origin main
    # 将开发分支合并到主分支(rebase 方式保持历史整洁)
    git rebase feature/new-function
    # 推送到远程主分支
    git push origin main
    
  6. 删除已合并的分支(可选)

    # 删除本地分支
    git branch -d feature/new-function
    # 删除远程分支
    git push origin --delete feature/new-function
    

三、常用辅助命令

  • 查看远程仓库信息

    git remote -v
    
  • 修改远程仓库地址

    git remote set-url origin https://github.com/new-username/new-repo.git
    
  • 查看分支状态

    git status       # 查看当前分支状态
    git branch -a    # 查看所有本地和远程分支
    
  • 放弃本地修改(谨慎使用)

    # 放弃工作区所有修改
    git checkout .
    # 放弃暂存区的修改(即撤销 git add)
    git reset HEAD .
    

这种工作流程通过 rebase 保持了主分支历史的线性和整洁,同时 .gitignore 文件确保了数据集等不需要上传的内容不会被提交到远程仓库。在 Cursor 中,你可以直接使用内置的 Git 扩展来执行这些命令,通常通过界面上的按钮或命令面板(Ctrl+Shift+P 或 Cmd+Shift+P)即可操作。

你需要在 GitHub 上先新建一个仓库,然后才能将本地文件夹与远程仓库关联。本地操作和远程仓库是相辅相成的,具体关系如下:

必须的步骤:先在 GitHub 上创建远程仓库

  1. 登录你的 GitHub 账号
  2. 点击右上角「+」号,选择「New repository」
  3. 填写仓库名称(建议与本地文件夹名称一致)
  4. 关键:不要勾选「Initialize this repository with a README」(保持仓库为空)
  5. 点击「Create repository」

创建完成后,GitHub 会显示这个空仓库的地址(类似 https://github.com/你的用户名/仓库名.git),这个地址就是后续要用到的远程仓库地址。

为什么需要先创建远程仓库?

  • git remote add origin <地址> 这个命令的作用是「告诉本地仓库:你的远程备份地址在这里」
  • 如果你没有在 GitHub 上创建仓库,就没有这个地址,本地的修改也就无处可推
  • 本地仓库只存在于你的电脑中,远程仓库才是真正的「云端备份」

完整流程梳理(含远程仓库创建)

  1. 在 GitHub 上创建空仓库 → 获得远程地址
  2. 在本地文件夹执行初始化:git init
  3. 创建 .gitignore 并添加忽略规则
  4. 提交本地文件:git add .git commit -m "首次提交"
  5. 关联远程仓库:git remote add origin <你的远程仓库地址>
  6. 第一次推送到远程:git push -u origin main

这样操作后,你的本地文件夹就和 GitHub 远程仓库建立了绑定,后续只需在本地修改,然后用 git push 就能将改动备份到远程了。

简单来说:本地仓库是你的工作区,远程仓库是你的备份区,两者需要通过上述步骤建立连接才能协同工作。

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

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

相关文章

windows10 ubuntu 24.04 双系统 安装教程

准备windows安装包解压到u盘中作为启动盘准备ubuntu安装包https://ubuntu.com/download/desktop/thank-you?version24.04.3&architectureamd64<strue解压到u盘中作为启动盘准备磁盘分区安装windows操作系统安装disk geniusWindows 三个NTFS的分区System: windows操作系…

腾讯前端面试模拟详解

以下是腾讯及腾讯音乐娱乐&#xff08;TME&#xff09;前端岗位高频手撕题目详解&#xff0c;结合真题及考察要点整理&#xff0c;覆盖面试核心考点&#xff1a;⚙️ 一、核心手撕题&#xff08;腾讯/TME 必考&#xff09; 1. Promise 并发控制&#xff08;90%场次出现&#xf…

微软将于 10 月停止混合 Exchange 中的共享 EWS 访问

使用 Exchange 混合部署的组织应为未来几个月即将生效的新变化做好准备。微软已宣布&#xff0c;自 2025 年 8 月起&#xff0c;将在某些混合环境中暂时阻止使用 Exchange Online 共享服务主体的 Exchange Web 服务 (EWS) 流量。 此项变更主要影响使用“丰富共存”功能的组织&a…

STM32CubeMX + HAL 库:用硬件IIC接口实现AT24C02 EEPROM芯片的读写操作

1 概述1.1 实验目的本实验旨在通过 STM32 微控制器的硬件 IC 接口&#xff0c;对 AT24C02 外部 EEPROM 存储芯片 进行读写操作。实验演示了芯片地址配置、单字节/多字节读写、跨页写入&#xff08;Page Write&#xff09;功能。并提供完整的驱动代码&#xff0c;帮助读者深入理…

基于Android的音乐播放器/基于android studio的音乐系统/音乐管理系统

原生APP安卓开发设计之基于Android的音乐播放器/音乐系统/音乐管理系统[springboot]android studio

OmniHuman:字节推出的AI项目,支持单张照片生成逼真全身动态视频

本文转载自&#xff1a;OmniHuman&#xff1a;字节推出的AI项目&#xff0c;支持单张照片生成逼真全身动态视频 - Hello123。 ** 一、核心产品定位 OmniHuman 是字节跳动研发的 AI 视频生成技术&#xff0c;通过单张图像&#xff08;真人 / 动漫 / 3D 角色&#xff09;和音频…

5种无需USB线将照片从手机传输到笔记本电脑的方法

Android手机和平板电脑非常适合查看照片&#xff0c;因为这些移动设备可以随身携带&#xff0c;随时随地查看文件。然而&#xff0c;移动设备的存储空间非常有限&#xff0c;而且很容易丢失或损坏。因此&#xff0c;将重要的照片从Android设备传输到电脑进行备份是非常明智的决…

2025年渗透测试面试题总结-14(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 九十一、Android APP 逆向分析步骤 九十二、SQL注入分类 九十三、SQL注入防御 九十四、序列化与反序列化…

PG靶机 - Flu

一、初步侦察与服务识别 1.1 端口扫描 首先对目标主机 192.168.122.41 进行全端口扫描&#xff0c;以发现其上开放的网络服务。 sudo nmap 192.168.122.41 -p- --min-rate5000 -A图1: Nmap扫描结果&#xff0c;显示开放22, 8090, 和 8091端口 扫描结果显示&#xff0c;目标开放…

【Leetcode】随笔

文章目录题目一&#xff1a;路径总和 II&#xff08;LeetCode 113&#xff09;题目分析&#xff1a;解题思路&#xff1a;示例代码&#xff1a;代码解析&#xff1a;题目二&#xff1a;颜色分类&#xff08;LeetCode 75&#xff09;题目分析&#xff1a;解题思路&#xff1a;示…

深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器

在使用 FastMCP 开发 MCP 服务器时经常会用到 mcp.tool() 等装饰器。虽然它们用起来很简单&#xff0c;但当作黑匣子总让人感觉"不得劲"。接下来我们将深入相关的源码实现&#xff0c;别担心&#xff0c;不会钻没有意义的“兔子洞”&#xff0c;你可以通过这篇文章了…

Spring Boot 2.0 升级至 3.5 JDK 1.8 升级至 17 全面指南

一、版本升级背景升级动机 Spring Boot 2.0 到 3.5 的重大更新&#xff08;如Jakarta EE 9包路径变更、GraalVM支持等&#xff09;JDK 1.8 到 17 的语言特性升级&#xff08;如sealed class、record等&#xff09;安全性与性能优化需求升级目标 兼容性验证依赖库版本适配代码兼…

级数学习笔记

级数学习笔记 一、数学基础 1. 数项级数&#xff08;Number Series&#xff09; 数项级数是指形如&#xff1a; ∑(n1 to ∞) aₙ a₁ a₂ a₃ ...的无穷和。 1.1 收敛性判别法 比较判别法比值判别法根值判别法积分判别法莱布尼茨判别法&#xff08;交错级数&#xff09; 2…

Linux811 YUM;SHELL:if else fi,for

vsftpdok [rootweb ~]# vim vsftpdok.sh 您在 /var/spool/mail/root 中有新邮件 [rootweb ~]# cat vsftpdok.sh rpm -ql vsftpd >/dev/null 2>&1 if [ $? -eq 0 ];then echo "OK" else yum install vsftpd -y if [ $? -eq 0 ];then echo "install o…

运维学习Day20——MariaDB数据库管理

文章目录MariaDB 数据库管理介绍 MariaDB数据库介绍数据库种类关系数据库MariaDB 介绍部署 MariaDB安装 MariaDB加固 MariaDB连接 MariaDB配置 MariaDBMariaDB 中 SQL描述 SQL连接数据库数据库操作查询数据库列表使用数据库创建数据库删除数据库表操作环境准备查询表查询表列表…

itertools:迭代器函数

文章目录一、合并和分解迭代器1、chain&#xff1a;首尾相接2、zip / zip_longest&#xff1a;对齐取数3、islice&#xff1a;切片4、tee&#xff1a;分裂二、转换输入1、map / starmap&#xff1a;函数映射三、生成新值1、count&#xff1a;生成连续整数2、repeat&#xff1a;…

【AI论文】序列标注任务广义化研究(SFT广义化):基于奖励修正的强化学习视角

摘要&#xff1a;我们针对大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;的监督微调&#xff08;Supervised Fine-Tuning&#xff0c;SFT&#xff09;提出了一种简单但具有理论依据的改进方法&#xff0c;以解决其与强化学习&#xff08;Reinforcemen…

(已解决)Mac 终端上配置代理

说明&#xff1a;为了便于理解&#xff0c;本文描述略显“抽象”与“潦草”&#xff0c;为了过审&#xff0c;仅供学习交流使用。&#x1f680; 简洁流程版启动工具 点击图标&#xff0c;复制它给出的终端命令将这段内容粘贴进你的配置文件中&#xff08;~/.zshrc 或 ~/.bash_p…

Anti-Aliasing/Mip-NeRF/Zip-NeRF/multi-scale representation

前言 CSDN的文章写太多&#xff0c;都不记得之前写的有什么了&#xff0c;但习惯了在这里记录&#xff0c;先写上吧。关于multi-scale representation又是看着忘着&#xff0c;还是写下点什么比较啊。时看时新&#xff0c;还是想吐槽自己看论文太不认真了。下面直接按照文章顺序…

板块三章节3——NFS 服务器

NFS 服务器 NFS 服务介绍 NFS 是Network File System的缩写&#xff0c;即网络文件系统&#xff0c;最早由Sun公司开发&#xff0c;**用来在UNIX&Linux系统间实现磁盘文件共享的一种方法。**它的主要功能是通过网络让不同的主机系统之间可以共享文件或目录。NFS客户端&…