当前位置: 首页 > news >正文

本地文件夹与 GitHub 远程仓库绑定并进行日常操作的完整命令流程

以下是将本地文件夹与 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.dtcms.com/a/325249.html

相关文章:

  • 时序数据库选型指南:Apache IoTDB为何成为工业物联网首选?
  • 精读:《DEEP OC-SORT: MULTI-PEDESTRIAN TRACKING BY ADAPTIVE RE-IDENTIFICATION》
  • 网安-安全加固
  • 安装jieba时遇到ModuleNotFoundError: No module named ‘distutils’
  • 2025世界机器人大会,多形态机器人开启商业化落地浪潮
  • stm32内存分析和RTOS任务切换分析
  • 第5节 大模型分布式推理通信优化与硬件协同
  • 高并发场景下分布式ID生成方案对比与实践指南
  • Web安全自动化测试实战指南:Python与Selenium在验证码处理中的应用
  • Redis知识点笔记
  • buildroot编译qt 5.9.8 arm64版本踩坑
  • 【车联网kafka】Kafka核心架构与实战经验(第三篇)
  • Java Web项目后台管理系统之内容管理仿写:内容、搜索、页码加载
  • 【Kafka系列】第三篇| 在哪些场景下会选择使用 Kafka?
  • 虚幻GAS底层原理解剖十 (网络)
  • 33-Hive SQL DML语法之查询数据-2
  • word的正则替换
  • 面试题-----微服务业务
  • 覆盖近 1.5 万个物种,谷歌 DeepMind 发布 Perch 2.0,刷新生物声学分类检测 SOTA
  • 深度学习与遥感入门(五)|GAT 构图消融 + 分块全图预测:更稳更快的高光谱图分类(PyTorch Geometric 实战)
  • Vue 中的 Class 与 Style 绑定详解1
  • 记录一下通过STC的ISP软件修改stc32的EEPROM值大小
  • Selenium动态元素定位
  • 2025牛客多校第七场 双生、象牙 个人题解
  • gophish钓鱼流程
  • 【测试报告】SoundWave(Java+Selenium+Jmeter自动化测试)
  • Android 16 的用户和用户组定义
  • RabbitMQ 声明队列和交换机详解
  • 飞算JavaAI vs 传统开发:效率与质量的双重突破
  • MLAG双活网络妙招:BGP + 静态VRRP实现智能负载均衡