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

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

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

灵魂摆渡发布于 2026/3/26更新于 2026/5/2631 浏览

一、准备工作

  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 文件
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ 继承入门:从基础概念到默认成员函数
  • 前缀和算法实战:和为 K 的子数组与和可被 K 整除的子数组
  • Python 基础语法完全指南:变量、数据类型与运算符
  • 融合条件扩散与图学习的 EEG 信号重建与认知负荷识别
  • DES 加密算法原理详解、攻击手段及 3DES 原理
  • 无人机低空智能巡飞巡检平台:全域感知与智能决策
  • nvm 安装指定版本 Node.js 失败解决方案
  • Linux 进程等待与程序替换详解:僵尸进程防治及 exec 函数应用
  • 基础算法核心模板指南:快速排序、归并排序与二分查找等
  • Microi 吾码开源低代码平台:架构解析与快速部署
  • 双向链表原理与 C 语言实现
  • 延迟渲染中的 C++ 实现要点与性能权衡
  • Java 双向链表实现与 LinkedList 源码解析
  • Linux 线程同步与互斥详解(含 C++ 代码示例)
  • 二叉树算法实战:计算深度与求先序排列
  • Visual C++ 运行库安装与 DLL 缺失问题排查指南
  • YOLOv8 模型部署至高通 RB5 边缘推理平台实战
  • 网络层:IP 协议、NAT 技术与 ICMP 协议详解
  • WSL Ubuntu 及 CentOS 9 安装 OpenClaw 并对接飞书教程
  • Clawdbot 飞书机器人集成配置实战

相关免费在线工具

  • 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