春

春夏秋冬平平安安

A text-focused Halo theme

  • 首页
  • 关于
主页 Git
文章

Git

发表于 28天前 更新于 28天前
作者 Administrator
16~21 分钟 阅读

Git的一些知识

  • 工作区:.git所在的目录

  • 暂存区:.git/index

  • 本地仓库:.git/objects

image-20250404130234654

  • 文件一共有四种状态

    • 未跟踪(Untrack)

    • 未修改(Unmodified)

    • 已修改(Modified)

    • 已暂存(Staged)

image-20250404130531714

常用命令

git init                创建仓库
git status              查看仓库的状态
git add                 添加到暂存区
git rm --cached <file>  将文件从暂存区移除
git restore             撤销修改
git commit              提交
git log                 查看仓库提交历史记录,可以使用--oneline参数来查看简洁的提交记录
​
​
git reset               恢复到之前的版本
    git reset --soft    回到之前的某一个版本,并且保存工作区和暂存区的所有修改内容
    git reset --hard    回到之前的某一个版本,并且丢弃工作区和暂存区的所有修改内容
    git reset --mixed   回到之前的某一个版本,并且只保存工作区的内容,丢弃暂存区的修改内容
    
    
git reflog              操作记录
git ls-files            查看暂存区中的内容 
​
git diff                查看文件在工作区、暂存区、本地仓库之间的差异,
                        查看不同版本之间的差异,
                        查看不同分支之间的差异
    git diff HEAD~3 HEAD [filename]                         和当前最新提交的前第三个版本进行比较(或者只对比某个文件)
​
git rm                  删除一个文件,把文件从工作区和暂存区同时删除
git fetch               从远程仓库中拉取代码
git pull                从远程仓库中拉取代码,并合并分支,如果有冲突会合并失败
​
git remote add <远程仓库别名> <远程仓库地址>  添加远程仓库
git push -u <远程仓库别名> <分支名>    上传本地仓库的代码到远程仓库
git remote -v           查看远程仓库
​
git branch dev          创建dev分支
git checkout dev        切换到dev分支,恢复文件
git switch main         切换分支
git checkout -b dev     创建并切换到dev分支
​
合并分支
git switch main         先切换到main分支
git merge dev           将dev分支合并到main分支上
​
​
git log --graph --oneline --decorate --all  查看历史
​
git branch -d dev       删除dev分支
git branch -D dev       强制删除dev分支
​
git rebase dev          找到main分支和dev分支的最近公共祖先,将最近公共祖先后面的dev分支合并到main的后面
                        在哪个分支上执行就是合并到哪个分支的后面

image-20250404134558888

image-20250404134930219

image-20250404154758934

image-20250404161550825

什么时候会发生冲突

不同分支对相同的文件进行了更改,在合并分支时就会发生冲突。需要手动处理冲突后,添加文件到暂存区,提交。

git merge --abort       冲突发生后中断合并

工作流模型

版本号规则

主版本.次版本.修订版本1.0.0

  • 主版本(Major Version):主要的功能变化或重大更新;

  • 次版本(Minor Version):一些新的功能、改进和更新,通常不会影响现有功能;

  • 修订版本(Patch Version):一些小的bug修复,安全漏洞补丁等。通常不会更改现有功能和接口;

许可协议:  CC BY 4.0
分享

相关文章

下一篇

消息中间件

上一篇

Go语言

最近更新

  • kafka Kraft模式k8s集群搭建
  • 达梦数据库主备集群搭建
  • RocketMQ proxy
  • 凝思操作系统开启系统日志
  • kubernetes学习记录

热门标签

Halo

目录

©2025 春夏秋冬平平安安. 保留部分权利。

使用 Halo 主题 Chirpy