Git提交代码详细流程及问题总结

 更新时间:2025年02月05日 09:39:54   作者:祺啾  
这篇文章主要介绍了Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下

1.git 三大分区

  • 工作区:开发人员当前正在开发的项目工作空间,是我们肉眼可见的。 Git系统不会管工作区中任何文件内容的修改,仅监控暂存区。
  • 暂存区:Git系统内部,管理开发人员项目中临时修改文件的区域,用于临时存放文件的改动,它会存放上一次开发人员 git add 添加之后的数据。 在后续继续向版本库提交更新代码时,git会比较暂存区与工作区间的差异,给予相关操作提示。
  • 版本库:类似仓库,存储很多配置信息、日志信息、以及文件各种修改后的最终版本信息。

2.Git提交、推送、拉取代码、合并分支详细流程

  • 查看工作区文件状态
git status

  • 添加文件到暂存区
git add <文件名>
git add ./* #添加所有文件到暂存区

  • 将暂存区的文件添加到版本库
git commit -m '提交注释信息'

  • 推送本地分支的更新到远程主机
git push

  • 切换分支
git checkout <远程分支名>

  • 合并分支
git merge <源分支名>

  • 保存当前工作进度
    使用情况:分支有改变时不提交不能进行切换分支操作
    该命令会保存当前工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中。
git stash 

  • 远端拉取代码
git pull #是 git pull --merge 的缩写;将远程库的最新内容拉到本地,用户检查后决定是否合并
git pull --rebase #远程主机的最新内容拉取到本地后直接合并;可能会产生冲突需要手动解决

  • 推送本地分支的更新到远程主机

    此时可以在主分支查询到从自己分支合并过来的提交记录

  • 切换回自己分支

  • 恢复最新的进度到工作区

git stash pop

3.问题总结

问题一、误提交:提交代码时遇到冲突,但冲突文件并不想提交【一般可以通过将文件添加到.gitignore长久解决,但是由于我的文件具有线上版本,.gitignore文件不起作用】

解决办法:

git add .
git reset HEAD .
  • git add .】:添加所有文件到暂存区
  • git reset HEAD .】:将此次修改的所有文件退回到工作区

4.git push补充知识

  • 将本地分支的更新推送到远程主机
git push <远程主机名> <本地分支名>:<远程分支名> # :前后不可以有空格
git push origin dev-lwq:master #将本地的dev-lwq分支推送到origin主机的master分支
  • 省略远程分支名:
    (1)本地与远程存在分支名重复情况,此时可以省略(2)若远程分支不存在,若省略则会新建一个与本地分支同名的远程分支
git push <远程主机名> <本地分支名>
git push origin dev-lwq #将本地的dev-lwq分支推送到origin主机的dev-lwq分支,若origin主机不存在dev-lwq分支则会新建
  • 省略本地分支名:删除指定的远程分支
git push <远程主机名> :<远程分支名>
git push origin :master #删除origin主机的master分支
git push origin --delete master#等同于上面命令
  • 仅保留远程主机名:当前分支与远程分支存在追踪关系
git push <远程主机名>
git push origin #将当前分支推动到origin主机的对应分支
git push #省略远程主机名:当前分支只有一个追踪分支
  • 当前分支与多个主机存在追踪关系,通过以下命令可以指定一个默认主机
git push -u <远程主机名> <本地分支名>
git push -u origin master #master分支推送到origin主机且设置origin为默认主机

总结 

到此这篇关于Git提交代码详细流程及问题总结的文章就介绍到这了,更多相关Git提交代码流程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从git仓库中删除.idea文件夹的小妙招

    从git仓库中删除.idea文件夹的小妙招

    这篇文章主要介绍了从git仓库中删除.idea文件夹的小妙招,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • MASA Blazor入门详细教程

    MASA Blazor入门详细教程

    MASA Blazor是一个基于 Blazor Component 和 Material Design 的 UI 组件库,接下来通过本文给大家介绍MASA Blazor入门详细教程,感兴趣的朋友一起看看吧
    2022-04-04
  • 从web到内网渗透的一次过程详解

    从web到内网渗透的一次过程详解

    本文非常详细的描述了一次从web到内网渗透的一次过程,并对每一步过程做了详细的图文示例及解析,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • 变量、函数、类的命名规则

    变量、函数、类的命名规则

    在阅读clean code书籍的时候,让我体会很多,因此我也用文字记录下这些有意义的知识。我认为这本书读十遍都不为过,下面我讲解一下自己的关于变量、函数、类的命名规则笔记。
    2011-08-08
  • idea项目全部类都爆红但能正常启动问题的解决办法

    idea项目全部类都爆红但能正常启动问题的解决办法

    这篇文章主要介绍了idea项目全部类都爆红但能正常启动问题的解决办法,当IDEA项目突然全部爆红,主启动类无法识别时,可尝试文中的两种方法修复,需要的朋友可以参考下
    2024-10-10
  • 一文详解VSCode安装配置使用(最新版超详细保姆级含插件)

    一文详解VSCode安装配置使用(最新版超详细保姆级含插件)

    安装VScode就很简单了,一路NEXT就可以了,重点是配置使用以及插件推荐,这篇文章主要给大家介绍了关于VSCode安装配置使用的相关资料,本文是最新版超详细保姆级含插件,需要的朋友可以参考下
    2023-05-05
  • 蝴蝶优化算法及实现源码

    蝴蝶优化算法及实现源码

    这篇文章主要为大家介绍了蝴蝶优化算法的讲解及实现源码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • postman扩展程序包安装与使用步骤

    postman扩展程序包安装与使用步骤

    这篇文章主要介绍了postman扩展程序包安装与使用步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • vscode使用remote-ssh免密连接服务器

    vscode使用remote-ssh免密连接服务器

    本文主要介绍了vscode使用remote-ssh免密连接服务器
    2024-03-03
  • git克隆远程仓库的指定分支方法(附常用git配置命令)

    git克隆远程仓库的指定分支方法(附常用git配置命令)

    这篇文章主要介绍了git克隆远程仓库的指定分支方法(附常用git配置命令),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论