跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashNode.js大前端java

本地 Git 向 Gitee 推送项目全流程及命令解析

从本地使用 Git 向 Gitee 推送项目的完整流程。内容包括准备工作(安装 Git、注册账号、创建仓库)、核心操作步骤(初始化仓库、添加文件、提交、关联远程仓库、拉取合并、推送代码)及各命令的具体作用。此外,还涵盖了后续简化推送流程、常见问题解决方案(如冲突处理、更换地址),并深入讲解了.gitignore 文件的编写规则与常见场景示例(前端、Python、Java 项目)。通过可掌握 Git 版本控制基础及 Gitee 协作规范。

灵魂摆渡发布于 2026/3/26更新于 2026/9/1686 浏览

一、准备工作

  1. 在本地安装 Git(官网下载并安装)
  2. 注册 Gitee 账号并登录
  3. 在 Gitee 上创建一个新仓库(点击右上角'+'号 -> 新建仓库)
  4. 在项目根目录创建一个 .gitignore 文件,在里面添加不想要推送到 Git 仓库的文件夹或文件。

二、操作步骤及命令解析

1. 初始化本地仓库(若项目尚未使用 Git 管理)

git init
  • 作用:在当前目录初始化一个新的 Git 仓库,创建一个隐藏的 .git 文件夹,用于存储版本控制相关信息。

2. 将文件添加到暂存区

git add .
  • 作用:将当前目录下所有修改过的文件添加到 Git 暂存区。
  • 其他用法:
    • git add 文件名:添加指定文件
    • git add 文件夹名:添加指定文件夹

3. 提交文件到本地仓库

git commit -m "提交说明"
  • 作用:将暂存区的文件提交到本地仓库,并添加提交说明(建议说明清晰描述本次修改内容)。
  • 提交说明是必填项,用于记录每次修改的目的。

4. 关联 Gitee 远程仓库

git remote add origin https://gitee.com/你的用户名/仓库名.git
  • 作用:将本地仓库与 Gitee 上的远程仓库关联起来。
  • origin 是远程仓库的默认别名,也可以使用其他名称。
  • 仓库地址可在 Gitee 仓库页面获取(克隆/下载按钮处)。

5. 拉取远程仓库内容(首次推送前建议执行)

git pull origin master --allow-unrelated-histories
  • 作用:拉取远程仓库的最新内容到本地,并合并。
  • master 是默认分支名(现在 Gitee 可能默认是 main)。
  • --allow-unrelated-histories 允许合并两个没有共同历史的仓库(首次关联时使用)。

6. 推送本地仓库内容到 Gitee

git push -u origin master
  • 作用:将本地仓库的内容推送到 Gitee 远程仓库。
  • -u 参数用于设置默认推送的远程仓库和分支,后续可直接使用 git push。
  • master 是要推送的本地分支,需与远程分支名称一致。

7. 输入账号密码(首次推送时)

推送命令执行后,会提示输入 Gitee 的账号和密码:

  • 用户名:Gitee 的登录账号
  • 密码:Gitee 的登录密码(若开启了二次验证,需使用令牌)
  • 三、后续推送简化流程

    完成首次推送后,后续修改项目后只需执行:

    # 添加修改
    git add .
    # 提交修改
    git commit -m "修改说明"
    # 推送至远程
    git push
    

    四、常见问题解决

    1. 若远程仓库已存在内容,推送失败:
    git pull origin master --rebase
    git push origin master
    
    1. 如需更换远程仓库地址:
    git remote set-url origin 新的仓库地址
    
    1. 查看当前远程仓库信息:
    git remote -v
    

    通过以上步骤,就能将本地项目成功推送到 Gitee 远程仓库,实现代码的远程管理和备份。

    五、Git Pull 命令详解

    git pull 是 Git 中常用的命令,用于从远程仓库获取最新代码并自动合并到当前本地分支。它实际上是 git fetch 和 git merge 两个命令的组合操作。

    基本语法

    git pull [远程仓库名] [远程分支名]
    

    常用场景

    只拉取特定文件

    git fetch origin main
    git checkout origin/main -- 文件名
    

    这不是 git pull 的直接用法,但可以实现只更新特定文件的效果。

    以 rebase 方式拉取

    git pull --rebase origin main
    

    使用变基(rebase)而非合并(merge)的方式整合代码,使提交历史更整洁。

    强制拉取(谨慎使用)

    git pull --force
    # 或
    git pull -f
    

    强制覆盖本地修改,可能会导致本地未提交的更改丢失。

    拉取指定远程分支并合并到当前分支

    git pull origin main
    

    从 origin 远程仓库的 main 分支拉取代码并合并到当前分支。

    拉取并合并默认远程分支

    git pull
    

    当当前分支与远程分支存在追踪关系时,可直接使用,无需指定远程仓库和分支。

    工作原理

    1. 执行 git fetch 从远程仓库下载最新的代码和分支信息
    2. 自动执行 git merge 将远程分支合并到当前本地分支

    注意事项

    • 拉取前最好先提交本地的修改,避免合并冲突
    • 若出现合并冲突,需要手动解决冲突后再提交
    • 频繁使用 git pull 可以保持本地代码与远程同步
    • 对于重要分支,建议使用 git fetch + git merge 分步操作,更安全可控

    使用 git pull --help 可以查看完整的命令文档和更多高级选项。

    六、附:.gitignore 文件讲解

    .gitignore 文件用于告诉 Git 哪些文件或目录不需要纳入版本控制,避免将临时文件、编译产物、敏感信息等提交到代码仓库。以下是 .gitignore 的编写规则和常见示例:

    一、基本语法规则

    1. 通配符:
      • *:匹配任意字符(不含路径分隔符 /),例如 *.log 忽略所有 .log 后缀的文件。
      • ?:匹配单个字符,例如 file?.txt 忽略 file1.txt、file2.txt 等。
      • **:匹配任意层级的目录,例如 **/cache/ 忽略所有目录下的 cache 文件夹。
    2. 路径分隔符:
      • 以 / 结尾:表示匹配目录(而非文件),例如 dist/ 只忽略 dist 目录。
      • 以 / 开头:只匹配项目根目录下的文件/目录,例如 /node_modules/。
    3. 否定规则:以 ! 开头,表示不忽略某个文件(需放在对应忽略规则之后),例如 *.txt !README.txt。
    4. 注释:以 # 开头的行是注释,会被 Git 忽略。

    二、常见场景示例

    1. 前端项目(JavaScript/TypeScript)
    # 依赖包
    node_modules/
    pnpm-lock.yaml
    package-lock.json
    yarn.lock
    # 编译产物
    dist/
    build/
    out/
    # 环境变量(含敏感信息)
    .env
    .env.local
    .env.*.local
    # 日志和缓存
    logs/
    *.log
    .DS_Store
    Thumbs.db
    # 编辑器配置(可选,建议放在全局 .gitignore)
    .idea/
    .vscode/
    *.swp
    *.swo
    
    2. Python 项目
    # 虚拟环境
    venv/
    env/
    *.env
    # 编译产物
    __pycache__/
    *.py[cod]
    *$py.class
    # 依赖包信息
    requirements.txt
    *.egg-info/
    # 测试和日志
    tests/__pycache__/
    logs/
    *.log
    # 操作系统文件
    .DS_Store
    Thumbs.db
    
    3. Java 项目
    # 编译产物
    target/
    *.class
    # 依赖包
    lib/
    *.jar
    *.war
    # IDE 配置
    .idea/
    *.iml
    .classpath
    .project
    # 日志
    logs/
    *.log
    

    三、使用技巧

    1. 自动生成:可通过 gitignore.io 网站,选择项目类型(如 Node、Python)自动生成配置。
    2. 生效时机:.gitignore 只对未被跟踪的文件生效。如果文件已被提交到仓库,需先移除跟踪:
    # 移除文件跟踪(不会删除本地文件)
    git rm --cached 文件名
    # 然后提交修改
    git commit -m "移除已跟踪的文件"
    
    1. 全局 .gitignore:对于所有项目都需要忽略的文件(如编辑器配置、系统文件),可设置全局规则:
    # 创建全局 .gitignore 文件
    git config --global core.excludesfile ~/.gitignore_global
    

    然后在 ~/.gitignore_global 中添加规则(如 .idea/、.DS_Store 等)。

    通过合理配置 .gitignore,可以保持仓库清洁,避免冗余文件和敏感信息的提交。

    目录

    1. 一、准备工作
    2. 二、操作步骤及命令解析
    3. 1. 初始化本地仓库(若项目尚未使用 Git 管理)
    4. 2. 将文件添加到暂存区
    5. 3. 提交文件到本地仓库
    6. 4. 关联 Gitee 远程仓库
    7. 5. 拉取远程仓库内容(首次推送前建议执行)
    8. 6. 推送本地仓库内容到 Gitee
    9. 7. 输入账号密码(首次推送时)
    10. 三、后续推送简化流程
    11. 添加修改
    12. 提交修改
    13. 推送至远程
    14. 四、常见问题解决
    15. 五、Git Pull 命令详解
    16. 基本语法
    17. 常用场景
    18. 或
    19. 工作原理
    20. 注意事项
    21. 六、附:.gitignore 文件讲解
    22. 一、基本语法规则
    23. 二、常见场景示例
    24. 1. 前端项目(JavaScript/TypeScript)
    25. 依赖包
    26. 编译产物
    27. 环境变量(含敏感信息)
    28. 日志和缓存
    29. 编辑器配置(可选,建议放在全局 .gitignore)
    30. 2. Python 项目
    31. 虚拟环境
    32. 编译产物
    33. 依赖包信息
    34. 测试和日志
    35. 操作系统文件
    36. 3. Java 项目
    37. 编译产物
    38. 依赖包
    39. IDE 配置
    40. 日志
    41. 三、使用技巧
    42. 移除文件跟踪(不会删除本地文件)
    43. 然后提交修改
    44. 创建全局 .gitignore 文件

    更多推荐文章

    查看全部
    • C++ 异常处理机制详解:错误码对比、抛出捕获与安全原则
    • Neo4j Windows 安装与配置教程
    • 点云分割进阶:LCCP 算法中的凸性准则与实战调优
    • Web 自动化测试入门:从概念到百度搜索实战
    • OpenClaw 飞书机器人权限配置与安全指南
    • ComfyUI 集成 Stable Diffusion 3.5 FP8 模型与性能优化
    • 知网 AIGC 检测升级下的论文降重与去 AI 痕迹指南
    • 为何当前主流 LLM 普遍采用 Decoder-Only 架构?
    • HarmonyOS 网络请求实战:Axios 集成与用户列表交互
    • Llama-AVSR 论文精读:基于 LLM 的视听语音识别新框架
    • Spring AI 核心特性与企业级 AI 应用实践
    • Linux 安装与使用 3x-ui 面板
    • Web 自动化测试实战:Selenium 常用函数全解析与场景化应用
    • C++ STL 标准库算法详解
    • Cursor 中配置与使用 MCP 服务指南
    • ZXing-C++ 跨平台条码处理库详解与集成指南
    • ComfyUI Photoshop插件完整教程:5步实现AI绘画工作流
    • VSCode 配合 Git 实现代码仓库回滚实战
    • 数据结构核心:链表(单链表、双链表及循环链表)
    • 零基础转行学习Python指南与核心知识点梳理

    相关免费在线工具

    • Keycode 信息

      查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

    • Escape 与 Native 编解码

      JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

    • JavaScript / HTML 格式化

      使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

    • JavaScript 压缩与混淆

      Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online