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

本地使用 Git 向 Gitee 推送项目的全过程、涉及的命令以及每个命令的作用

下面详细讲解从本地使用 Git 向 Gitee 推送项目的全过程、涉及的命令以及每个命令的作用:

一、准备工作

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

二、操作步骤及命令解析

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 中常用的命令,用于从远程仓库获取最新代码并自动合并到当前本地分支。它实际上是 git fetchgit merge 两个命令的组合操作。

基本语法

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

常用场景

  1. 拉取并合并默认远程分支

    git pull
    

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

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

    git pull origin main
    

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

  3. 强制拉取(谨慎使用)

    git pull --force
    # 或
    git pull -f
    

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

  4. 以 rebase 方式拉取

    git pull --rebase origin main
    

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

  5. 只拉取特定文件

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

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

工作原理

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

注意事项

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

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




附. .gitignore 文件讲解

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

一、基本语法规则

  1. 注释:以 # 开头的行是注释,会被 Git 忽略

    # 这是一条注释,不会生效
    
  2. 匹配文件/目录:直接写文件名或目录名,匹配所有同名文件/目录

    # 忽略所有名为 temp.txt 的文件
    temp.txt# 忽略所有名为 logs 的目录
    logs/
    
  3. 通配符

    • *:匹配任意字符(不含路径分隔符 /
      # 忽略所有 .log 后缀的文件
      *.log
      
    • **:匹配任意层级的目录
      # 忽略所有目录下的 cache 文件夹
      **/cache/
      
    • ?:匹配单个字符
      # 忽略 file1.txt、file2.txt 等(单个数字结尾)
      file?.txt
      
  4. 否定规则:以 ! 开头,表示不忽略某个文件(需放在对应忽略规则之后)

    # 忽略所有 .txt 文件,但保留 README.txt
    *.txt
    !README.txt
    
  5. 路径分隔符

    • / 开头:只匹配项目根目录下的文件/目录
      # 只忽略根目录下的 node_modules,不忽略子目录中的
      /node_modules/
      
    • / 结尾:表示匹配目录(而非文件)
      # 只忽略 dist 目录,不忽略 dist.txt 文件
      dist/
      

二、常见场景示例

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  # Mac 系统文件
Thumbs.db  # Windows 系统文件# 编辑器配置(可选,建议放在全局 .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:对于所有项目都需要忽略的文件(如编辑器配置、系统文件),可设置全局规则:

    # 创建全局 .gitignore 文件
    git config --global core.excludesfile ~/.gitignore_global
    

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

  2. 自动生成:无需手动编写,可通过 gitignore.io 网站,选择项目类型(如 NodePython)自动生成配置。

  3. 生效时机.gitignore 只对未被跟踪的文件生效。如果文件已被提交到仓库,需先移除跟踪:

    # 移除文件跟踪(不会删除本地文件)
    git rm --cached 文件名
    # 然后提交修改
    git commit -m "移除已跟踪的文件"
    

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

http://www.dtcms.com/a/404214.html

相关文章:

  • 【0基础学算法】前缀和(算法原理+经典例题)
  • 数据开放网站建设内容wordpress页面分页
  • 网站文章页图片大全win7系统做网站服务器系统
  • 永嘉县住房建设局网站公司网站建设审批流程
  • 鄂尔多斯建设局网站怎么查个人是否注册工商执照
  • 注册公司应该去哪个部门石家庄百度搜索引擎优化
  • 网站优化 图片动画设计的类型有哪些
  • 企业双线策略路由重定向
  • 外国人做外贸都会浏览哪些网站深圳专门做网站的公司
  • 网站渠道建设深圳相册制作公司
  • 网站模板html 汽车膜在线装修设计平台
  • 办公室装修费用分几年摊销上海百度seo点击软件
  • 重庆品牌设计公司品牌推广百度seo
  • 1第五章函数
  • 网站建设相关的博客有哪些网站开发的项目流程
  • cpolar让Nastool影音库随身而行,随时随地享受视听自由
  • wordpress建站系统视频教程wordpress博客视频教程
  • 自建站什么意思仿淘宝网站源码+php
  • 公司优化网站的案例姑苏区建设局网站
  • Roo Code任务待办清单功能详解
  • 网站源码上传服务器了怎么做wordpress自定义api
  • 阿里云多网站网站报404错误怎么解决
  • 基于目标-空间注意协同和全局-局部注意引导特征融合策略的茶芽自动检测(TBD)
  • 第九篇:Python模块与包机制深度探秘
  • 网站注册人查询阿里巴巴是搭建的网站吗
  • 张家港高端网站制作十大最火网络游戏
  • wordpress 站外链接辉县市工程建设网站建设
  • 湖南3合1网站建设电话网站建设v5star
  • 柳州市住房和城乡建设局网站首页wordpress 读取副标题
  • 传统文化传播公司网站建设wordpress 栏目 伪静态化