首页 > 其他分享 >如何安全的在一个已有的git分支上,自动化的切换到另外一个分支指定commit

如何安全的在一个已有的git分支上,自动化的切换到另外一个分支指定commit

时间:2024-01-30 22:55:36浏览次数:25  
标签:git target -- branch commit 分支

如何安全的在一个已有的git分支上,自动化的切换到另外一个分支指定commit?下面是一种干净的安全的可以自动化的做法:

清理本地脏数据

git checkout .
git clean -df .

将 commit 重置到 HEAD

git reset --hard HEAD

重置子git模块

git submodule foreach --recursive git reset --hard
git submodule update --init --recursive

删除可能的名字叫做 swap_tmp 的分支

git branch -D swap_tmp

立刻切换到 swap_tmp 分支

git checkout -b swap_tmp

删除旧的目标分支,这是因为本地 target_branch 可能已经被污染,删除以免冲突

git branch -D target_branch

从远程仓库拉取目标分支最新版本

git fetch origin target_branch

切换到目标分支

git checkout target_branch

重置到该分支的目标commit

git reset --hard target_commit

重置子git模块

git submodule foreach --recursive git reset --hard
git submodule update --init --recursive

标签:git,target,--,branch,commit,分支
From: https://www.cnblogs.com/math/p/17998168/safe-and-clean-git-checkout

相关文章

  • Git初始流程
    Git初始流程SSH1.生成ssh秘钥ssh-keygen-trsa-b4096-C"[email protected]"2.设置ssh配置文件不设置会导致在执行[email protected]​命令时出现“ssh:connecttohostgithub.comport22:Connectiontimedout”错误cd~/.sshvimconfig......
  • dockerfile安装jenkins 并配置构建工具(node、npm、maven、git)
    dockerfile安装jenkins并配置构建工具(node、npm、maven、git):https://blog.csdn.net/weixin_39660224/article/details/88775707?ops_request_misc=&request_id=&biz_id=102&utm_term=dockerfile%20%E5%88%9B%E5%BB%BAjenkins&utm_medium=distribute.pc_search_result.......
  • git的使用
     根据廖雪峰老师学习所得笔记,用于复习回顾。廖雪峰git学习网址Git教程-廖雪峰的官方网站1.首先安装git 2.初始化仓库  在你想要作为仓库目录下输入命令:gitinit便会自动创建空的仓库3.提交文件  把想要提交的文件,放在仓库目录下,gitadd ‘完整的名字’,然后git......
  • 关于GitHub国内打不开的有效解决办法
    哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!GitHub是全球最大的开源代码托管平台之一,但由于某些原因,它在中国大陆地区经常会遭受网络封锁,导致无法正常访问。如果您也遇到了这个问题,不要担心,本文将为您介绍一些解决方法。解决方案一:修改hosts文件修改hosts文件是解决无法访问GitHub的最......
  • GitLab 首席产品官谈 DevSecOps 在 AI 时代的四大趋势
    内容来源:about.gitlab.com作者:GitLab首席产品官DavidDeSantoDevSecOps中的AI变革已经到来,你做好准备了吗?利用AI来加速创新并提高客户价值对于在AI驱动的市场中保持竞争力至关重要。AI在软件研发领域中的作用来到了关键时刻——这将迫使组织及其DevSecOps领导......
  • gitclone正常,但是git submodule报错Permission denied
    根本原因是,git这种形式没有权限参考https://www.hangge.com/blog/cache/detail_1561.html......
  • Gitlab 权鉴相关
    解决思路1、首先登录gitlab服务器执行以下命令:sudogitlab-railsconsole-eproduction 2、通过命令查找,确定用户为“root”#以下这两个命令都可以,随便输入一个user=User.where(id:1).firstuser=User.where(name:"root").first 3、将root用户密码重置为admin123......
  • 一次搭建GIT服务的漫长路程
    1、由于种种原因。需要在一台WindowSever2016的服务器上搭建Git服务。通过种种选择,发现GitLab是最适合的。但是GitLab只能在Linux上运行。而我能用的服务器的操作系统是WindowServer。所以只能在Window上通过docker容器或者虚拟机来运行GitLab服务了。 2、一开始我想到的是......
  • git客户端中文乱码,解决方案
    git命令如下所示: 解决方案gitconfigcore.quotepathfalse 解决后: 参考:修复gitdiff正文中文乱码-简书(jianshu.com)git中文名转义带来的麻烦;git配置之core.quotepath;git中文乱码-yaowenxu-博客园(cnblogs.com)......
  • 把git当作一个小型最终一致性的 json 数据库
    这几天写了一些有趣的代码:把git当作json数据库。做法是这样的:创建一个git仓库为每个最小粒度的数据创建一个独立的json文件({table}.json)客户端通过Python写git操作代码,实现几个数据库操作接口。数据库操作接口最小集:初始化:把git仓库拉下来(这个后面可以优化为只拉取指......