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

Git将本地文件推送到GitHub仓库

Git 将本地文件push到GitHub仓库

    • 一、具体流程
      • 1.打开git bash
    • LFS(Git Large File Storage)(可选)
      • 2.查看全局配置
      • 3.创建版本库(仅用于第一次)
      • 4.写入缓存
      • 5.检查并配置远程转态
      • 6.提交写入缓存的文件到仓库
      • 7.查看本地分支和远程分支,并进行推送
      • 总结
    • 二、可能问题
      • 1.Git push 失败
        • 解决方法1:强制合并无关历史
        • 解决方法2:放弃本地修改,直接克隆远程仓库
        • 解决方法 3:将本地提交作为新分支推送到远程
    • 2.后续补充……

一、具体流程

1.打开git bash

在需要push的文件目录下使用git bush,如下图所示:

描述
描述

LFS(Git Large File Storage)(可选)

安装LFS以用于push大型文件,Windows下载地址为Git Large File Storage (LFS)),其原理为:

Git LFS 通过将大文件替换为小型文本指针(Pointer)来避免直接提交大文件到仓库。但这个替换过程需要手动指定追踪规则

  • 未被追踪的文件:仍会作为普通文件直接提交到 Git 仓库,导致仓库膨胀。
  • 被追踪的文件:Git 会自动将其转换为指针文件,并将实际内容存储到 LFS 服务器。

指定追踪的文件

git lfs track "*.zip"

2.查看全局配置

此命令会显示用户主目录下.gitconfig文件中的配置,影响所有 Git 仓库。

git config --global --list  //查看username和emailgit config --global user.name 'ABC'	//设置新的usernamegit config --global user.email ABC@qq.com //设置新的email

3.创建版本库(仅用于第一次)

git init

4.写入缓存

git add . //添加当前目录所有修改到缓存git add ./filename //指定将某个文件写入缓存git status //查看已经添加到缓存区的文件
//输出中以 Changes to be committed: 开头的文件即为已添加到暂存区的文件

5.检查并配置远程转态

git remote -v          // 查看已配置的远程仓库git remote add origin https://github.com/AA/leisure.git	//这个链接是你远程仓库的地址git remote set-url origin <新github仓库地址>		//如果要修改成新的仓库地址

6.提交写入缓存的文件到仓库

git commit -m 'describe'	//describe:具体说明提交了什么,只是一个描述

7.查看本地分支和远程分支,并进行推送

git branch		//列出本地已经存在的分支,当前所在分支会用 * 标记git branch -r	//列出远程仓库的分支
//	例:
//	origin/master	//这里的 origin 是默认的远程仓库名,后面跟着的是远程仓库的分支名。git push origin master    //将本地master推送到远程master
//详细例如:
git push origin dev:feature/new-feature	//本地分支名为 dev,推送到远程的 feature/new-feature 分支
//origin 是远程仓库名,: 前是本地分支名,: 后是远程分支名。

总结

  • 先将待推送的文件加入缓存(add
  • 再将写入缓存的文件提交到仓库(commit
  • 最后确认并进行推送(push

二、可能问题

1.Git push 失败

原因:远程仓库已存在但本地仓库是全新创建的(例如,本地用 git init 创建了新仓库,而远程仓库已有提交)。
错误描述

解决方法1:强制合并无关历史

使用 --allow-unrelated-histories 参数允许 Git 合并没有共同祖先的分支:

git pull origin master --allow-unrelated-histories
解决方法2:放弃本地修改,直接克隆远程仓库

如果本地仓库没有重要修改,可以删除本地仓库并重新克隆:

# 删除本地仓库(谨慎操作!)
cd ..
rm -rf SSM  # Windows 使用 rd /s /q SSM# 重新克隆远程仓库
git clone https://github.com/sea/leisure-music.git SSM
cd SSM
解决方法 3:将本地提交作为新分支推送到远程

如果想保留本地提交,但不合并历史,可以创建新分支并推送:

git checkout -b new-feature  // 创建新分支
git push origin new-feature  // 推送到远程

建议:未来在初始化本地仓库时,若远程仓库不为空,建议先克隆远程仓库,再在本地进行修改,避免历史不相关的问题

2.后续补充……

http://www.xdnf.cn/news/13197.html

相关文章:

  • 51单片机读取PCF8563时钟芯片
  • 2025 高考:AI 都在哪些地方发挥了作用
  • 行为设计模式之Memento(备忘录)
  • 守护数字世界:网络安全核心技术与实践策略
  • VSCODE配置ESP-IDF芯片选择遇见的问题
  • 赛尔发布SHARE 5系列航测相机,外业更高效,建模更优质
  • 代码随想录刷题day31
  • 从基础到实战-rmpt to webrtc
  • WiFi通信应用开发【保姆级】实现ESP8266模块数据上传到云端!!!
  • matlab 各种智能优化算法
  • 26考研 专业课 百度网盘夸克网盘
  • C++_红黑树
  • Easy系列PLC变频器控制功能块(ST源代码)
  • 积累-Vue.js 开发实用指南:ElementUI 与核心技巧
  • AI驱动下的商品详情API:2025年电商平台的智能化数据交互新趋势
  • Qt5 框架 CMake 探秘
  • 编译原理 学习 2025年6月10日11:17:54
  • 笔记——学习HTTP协议
  • 第二篇:Agent2Agent (A2A) 协议——A2A 架构、组件和通信动态
  • 百度之星2021——BD202104 萌新
  • JavaScript闭包-作用域链的魔法
  • KubeSphere 容器平台高可用:环境搭建与可视化操作指南
  • YOLO电力物目标检测训练
  • Spring Boot + Vue 前后端分离项目解决跨域问题详解
  • HTML 语义化
  • ​​CentOS 7.9​​ 上配置 ​​Fail2ban 自动封禁 IP​​ 的完整步骤,整合了多篇权威资料的最佳实践
  • 功能界面的组件化编码流程
  • LeetCode 11题“盛最多水的容器”
  • 论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(三)
  • SecureCRT 中使用 `crt.Session.Config.SetOption` 方法