Git向仓库提交代码三步走详解(add、commit、push)

 更新时间:2026年04月11日 10:33:28   作者:WF文丰  
文章主要介绍了Git的工作区、暂存区和版本库的概念,并详细讲述了如何使用`git add`、`git commit`和`git push`命令进行代码版本管理,此外,还介绍了如何配置用户名和邮箱地址、创建版本库、记录快照、上传代码到远程仓库以及强制推送等操作

Git 工作区、暂存区和版本库概念

使用 git add命令将想要快照的内容写入缓存区,执行 git commit将缓存区内容添加到仓库中,执行 git push用于从将本地的分支版本上传到远程并合并。

基本概念:我们先来理解下Git 工作区暂存区版本库概念

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫 stage, 或 index。一般存放在 “.git目录下” 下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

如下图所示:

Git向仓库提交代码git commit

  • 使用 git add命令将想要快照的内容写入缓存区, 而执行 git commit将缓存区内容添加到仓库中。
  • Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。
git config --global user.name 'XXXX'
git config --global user.email XXXXXXXXX@qq.com

账号信息通过如下途径可以获得:

https://gitee.com

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

git init
  • 接下来我们写入缓存,并提交对 test.php 的所有改动。
  • 在首个例子中,我们使用 -m 选项以在命令行中提供提交注释。
  • 递归将本目录下所有文件
git add .
git commit -m '初始化项目'
 2 files changed, 2 insertions(+)
 create mode 100644 README
 create mode 100644 test.php
  • 现在我们已经记录了快照。如果我们再执行 git status:
git status
# On branch master
nothing to commit (working directory clean)
  • 以上输出说明我们在最近一次提交之后,没有做任何改动,是一个"working directory clean:干净的工作目录"。
  • 如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认(Linux)会打开 vim。

直接提交

如果你觉得 琐,Git 也允许你用 -a 选项跳过这一步(git add 提交缓存的流程太过繁)。

命令格式如上:

git commit -a

本地分支版本上传到远程git push

本地仓库与远程仓库连接(首先回到gitee仓库页面,复制https链接)

  • 远程仓库连接
git remote add origin 刚才复制的https链接 

  • 强制推送
  • 将远程仓库拉到本地仓库git版本控制(远程仓库为空可跳过)
git pull --rebase origin master
  • 本地仓库的代码传到远程仓库
git push -u origin master
  • 如果弹出gitee的登录窗口登录即可

回到gitee仓库页面刷新一下即可看到代码已经上传完成了

如果你发现有文件夹或者目录一直未上传(即使修改了)

请检查:.gitignore

如何强制删除本地的所有更改?

如果你想要强制删除本地的所有更改(包括未提交的更改、暂存的更改以及本地分支上的提交),并将远程分支的最新版本同步到本地,你可以按照以下步骤操作:

  • 备份你的工作:首先,确保你保存了所有重要的更改,因为以下步骤将会丢弃它们。
  • 清理工作目录:如果你有任何未提交的更改,你可以通过git stash将它们保存起来,稍后可以再恢复。但如果你想要丢弃这些更改,可以使用git reset --hard。
git stash save "My stash message"  # 如果你想要保存更改
git reset --hard                   # 如果你想要丢弃更改

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Git远程仓库配置SSH的实现(以github为例)

    Git远程仓库配置SSH的实现(以github为例)

    本文主要介绍了Git远程仓库配置SSH的实现(以github为例),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 解决HTTP服务响应数据不完整响应数据截断的问题

    解决HTTP服务响应数据不完整响应数据截断的问题

    这篇文章主要介绍了HTTP服务响应数据不完整响应数据截断的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Git基本概述

    Git基本概述

    本文主要介绍了Git的基础知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • VSCode设置默认打开的浏览器的方法

    VSCode设置默认打开的浏览器的方法

    这篇文章主要介绍了VSCode设置默认打开的浏览器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 如何通过阿里云实现动态域名解析DDNS的方法

    如何通过阿里云实现动态域名解析DDNS的方法

    这篇文章主要介绍了如何通过阿里云实现动态域名解析DDNS的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 算法系列15天速成 第十天 栈

    算法系列15天速成 第十天 栈

    今天跟大家聊聊栈,在程序设计中,栈的使用还是非常广泛的,比如有“括号匹配问题“,”html结构匹配问题“。所以说掌握了”栈“的使用,对我们学习算法还是很有帮助的
    2013-11-11
  • VSCode开发中有哪些好用的插件和快捷键

    VSCode开发中有哪些好用的插件和快捷键

    作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,这篇文章主要介绍了VSCode开发中有哪些好用的插件和快捷键的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • Application,Session,Cookies对象应用介绍

    Application,Session,Cookies对象应用介绍

    Application,Session,Cookies对象比较,对于客户端保存登录信息的朋友可以参考下。
    2011-05-05
  • idea对CPU的占用率过大问题的解决方法

    idea对CPU的占用率过大问题的解决方法

    本文主要介绍了idea对CPU的占用率过大问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • 为Jenkins添加SSH全局凭证

    为Jenkins添加SSH全局凭证

    这篇文章介绍了为Jenkins添加SSH全局凭证的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03

最新评论