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

[每周一更]-(第69期):特殊及面试的GIT问题解析

在这里插入图片描述

整合代码使用过程的问题,以及面试遇到的细节,汇总一些常用命令的对比解释和对比;

1、fetch和pull区别

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git pull则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

2、可以作为一套面试及、如何处理一个或一系列相连的分支feature提交的commits 合并到master分支;

(1)合并非master中某个commit提交到master分支中,用git cherry-pick命令,
git checkout master
git cherry-pick 22ecb3(提交记录 git log 查看)
也可以合并一系列:
git cherry-pick A…B (提交 A 必须早于提交 B)
git cherry-pick A^…B (包含A当前分支)

(2)当需要合并一系列commit时,就需要用到rebase
首先需要基于feature创建一个新的分支,并指明新分支的最后一个commit:
git checkout -b newbranch 22ecb3
然后,rebase这个新分支的commit到master(–ontomaster)。76cada^ 指明你想从哪个特定的commit开始。
git rebase --onto master 11cada^

得到的结果就是feature分支的commit 22ecb3 ~ 11cada 都被合并到了master分支。

回退上个版本:git reset --hard HEAD^

3、当master分支合并了其他分支内容,想去除?(很棒的方式)

(1) 先查看提交记录, git log --pretty=oneline
(2)用【git reset】回到出错版本的上一个版本 :git reset --hard 3c2af5a7(表示错误前的一个版本)

(3)用【git cherry-pick】把出错版本后面的commit合并进去;git cherry-pick 9dba07f4^…32aba548
#出错版本后的第一个commit直至最新commit或者使用单次合并 git cherry-pick 9dba07f4
#将某次commit的更改应用到当前版本(将出错 cmmit 之后别人提交的代码合并到当前正常代码分支上)
栗子:git cherry-pick 396c2fd9^…aafc97e3

(4)如果在cherry-pick 的过程中出现了冲突 ,在处理冲突后,使用 git cherry-pick --continue

(5)继续处理下一个分支 如果想中途退出cherry-pick,使用 git cherry-pick --abort

(6)合并冲突后,使用强制推送把旧分支进行覆盖 :git push origin HEAD:commitName(当前版本名) --force
git push origin HEAD --force #强制提交

查看更多


http://www.kler.cn/a/105877.html

相关文章:

  • 记录java Collections.sort踩的坑
  • NLP论文速读(谷歌出品)|缩放LLM推理的自动化过程验证器
  • 利用Python爬虫获取淘宝店铺详情
  • 2.5D视觉——Aruco码定位检测
  • Springboot基于GIS的旅游信息管理系统
  • JavaScript中的reduce函数
  • 华为云双十一服务器数据中心带宽全动态BGP和静态BGP区别
  • 港联证券:2万元股票一进一出手续费?
  • Uniapp 跳转回上一页面并刷新页面数据
  • jdbc技术实现插入数据,更新和删除操作,查询操作
  • 【计算机视觉】MoCo v3 讲解
  • 基于Java的宠物商店管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 全国客运飞机场数据,2023年的,有shp和xlsx格式
  • jvm摘要
  • php实战案例记录(25)intval函数的用法
  • yum--centos 和apt --ubuntu
  • Java实现连接SQL Server解决方案及代码
  • 【Python机器学习】零基础掌握AdaBoostRegressor集成学习
  • CentOS 7 安装和配置java环境
  • FPGA设计时序约束七、设置时钟不确定约束
  • elasticsearch-7.9.3 单节点启动配置
  • AI口语APP的实现方法
  • Visual Studio 2022 设置 PySide6 扩展工具
  • 哪些场景需要额外注意线程安全问题
  • p5.js 状态管理
  • 机器学习之朴素贝叶斯