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

Git使用总结

1.基本概念:

Git中的区域:

git中有几个区域;本地工作区;本地提交区;origin远端。

一般来说的工作上传顺序是:
将修改文件添加到工作区域----提交到本地提交区域----push到远端分支

Git中的分支

远端和本地都有分支,不同的分支会保存不同的提交信息,merge信息。

        如果把Git的历史比作一条直线,那么每次更改都是一个节点。而添加分支本身也是一个节点,该节点会创建一个新的指针,之后如果在该分支上提交新的修改,则它们并不会直接合并到主分支上而是保存在新分支上。
        当需要将该分支上的内容合并到主分支上时,新分支上的修改就会全部merge到master上。假设主分支和被合并的分支都对同一个文件做出了修改,那么git就会告诉你冲突,需要解决冲突后才能合并。

HEAD:

        HEAD是一个指向分支的指针,比如刚刚创建git的时候,HEAD指向默认的master(masrer本身也是一个指针)主分支。
        当你创建一个新分支后,会创建一个新指针。比如创建一个dev分支,就是创建一个dev指针,而切换到该分支本质上就是让HEAD指向dev。并且该分支会继承master分支当前所有信息。

详细分支管理可以借鉴这篇文章:

https://blog.csdn.net/silence_pinot/article/details/111478596

2.基本命令:

基本流程命令:

git add                                 #添加修改文件到工作区域git commit -m "feat: add a new file"    #提交修改到本地git commit --amend                      #重新提交上次提交并修改提交日志git commit --amend --no-edit            #重新提交上次提交单不修改提交日志git push origin                         #push到远端分支git push origin HEAD:refs/for/master    #push到远端的HEAD后的某个分支git pull                                #拉取代码git status                              #当前工作区域修改情况git show                                #展示当前提交的信息git show -s                             #简约的展示git diff                                #比较上次提交后的仓库和当前工作区的区别

分支相关命令:

git branch                        #展示本地所有的分支git checkout -b <branch>          #创建分支git checkout <branch>             #切换到某个分支git stash                         #保存当前工作内容git stash list                    #显示缓存的工作内容git stash pop                     #应用缓存的工作内容

这里重点做一下git stash的笔记:
        该命令一般用于当你需要切换分支,但是当前分支的工作内容不能提交而需要保存时使用。该命令会把当前分支下的工作内容缓存下来。而缓存的地方不在我们之前提过的三个区域之内。

相关文章:

  • Android Studio报错:Supertypes of the following classes cannot be resolved
  • 【C++开发】CMake构建工具
  • 从Git历史中删除大文件的完整解决方案
  • 图灵完备之路(数电学习三分钟)----门的多路化
  • mysql join的原理及过程
  • 一键打包利器:gopack - 极简Go程序编译与压缩工具
  • openapi-generator-maven-plugin自动生成HTTP远程调用客户端
  • Mysql—锁相关面试题(全局锁,表级锁,行级锁)
  • 商品中心—10.商品B端搜索系统的说明文档
  • 防御悬垂指针:C++的多维度安全实践指南
  • 逆向某物 App 登录接口:还原 newSign 算法全流程
  • Vulkan 学习(17)---- 使用 IndexBuffer
  • c#,vb.net LockObject ,多线程锁,多线程安全字典ConcurrentDictionary
  • C/C++数据结构之静态数组
  • Matplotlib入门指南:从安装到绘制基本图形
  • 3D制作角色模型的教程-1
  • Java的锁机制问题
  • 【论文阅读笔记】TransparentGS:当高斯溅射学会“看穿”玻璃,如何攻克透明物体重建难题?
  • Protobuf 与 JSON 的兼容性:技术选型的权衡与实践
  • 风险矩阵与灰色综合评价
  • 个人电脑可以做网站服务器吗/国内最新新闻摘抄
  • 做网上推广网站/中视频自媒体平台注册官网
  • 微动漫怎么制作/seo积分系统
  • 英文网站建设cms/网络媒体软文案例
  • 长沙做网站的故事/网络营销策划与推广
  • 如何做企业套模网站/百度网盘电脑版下载