git 报错 error: Cannot delete branch 'test' checked out at 'D:/HexoBlog/.deploy_git'

以前一直用的图形界面的git客户端,最近想熟悉一下git命令行
可能很多人会问,明明有git gui 和 github等各种图形化界面客户端可以直接操作?全部指令干啥???
额。。。好吧,就是为了看起来装逼,做一个有逼格的程序员吧,刷刷刷全部命令行多帅哦
哈哈哈,开玩笑的,其实就是为了通用和熟悉git,linux里面照样这样用,多熟悉点基础指令很有用的,
如果觉得顿时不开心了、无爱了==>推荐你快速入门:http://www.imooc.com/learn/390

遇到个小问题,记录一下
error: Cannot delete branch ‘test’ checked out at ‘D:/HexoBlog/.deploy_git’
在这里插入图片描述
查看分支
在这里插入图片描述
很明显,当前分支是test分支,所以删除不了,切换分支到其他分支
在这里插入图片描述
再进行删除操作

git branch -d<branchName>

这样就顺利删除本地本地分支了

删除本地分支的命令行:

git branch -d  <BranchName>

在这里插入图片描述
删除远程分支的命令行:

git push origin --delete <BranchName>

在这里插入图片描述

### Jenkinsfile 中定义的启动脚本示例 Jenkinsfile 是一种用于定义 Jenkins Pipeline 的文件,它可以通过声明式或脚本式两种方式进行编写。以下是基于 Spring Boot 项目的一个典型 Jenkinsfile 示例及其配置说明。 #### 声明式 Jenkinsfile 示例 ```groovy pipeline { agent any stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/your-repo-url.git' echo 'Code has been checked out successfully.' } } stage('Build') { steps { sh 'mvn clean package -DskipTests=true' echo 'Project built successfully.' } } stage('Test') { steps { sh 'mvn test' echo 'Testing completed.' } } stage('Deploy') { steps { script { def artifactName = "target/${env.JOB_NAME}-${env.BUILD_NUMBER}.jar" sh "cp target/*.jar ${artifactName}" // 启动 Spring Boot 应用程序 sh ''' nohup java -jar $artifactName > app.log 2>&1 & echo \$! > PID_FILE ''' } echo 'Application deployed and started successfully.' } } } post { always { archiveArtifacts artifacts: '**/*.jar', allowEmptyArchive: true junit 'target/surefire-reports/**/*.xml' echo 'Archived artifacts and collected test results.' } failure { mail to: 'admin@example.com', subject: 'Pipeline Failed', body: 'The pipeline failed at stage: ${currentBuild.currentResult}' } } } ``` 上述代码展示了如何通过 Jenkinsfile 定义一个完整的 CI/CD 流程[^1]。具体功能如下: - **Checkout**: 使用 `git` 插件拉取最新代码。 - **Build**: 执行 Maven 构建命令 (`clean package`) 并跳过测试阶段以加速构建过程。 - **Test**: 运行单元测试并生成报告。 - **Deploy**: 将构建好的 JAR 文件复制到目标目录并通过 `nohup` 后台运行应用程序[^3]。 #### 脚本式 Jenkinsfile 示例 如果更倾向于脚本式的灵活性,则可以采用以下形式: ```groovy node { stage('Checkout') { checkout scm echo 'Checked out the latest code from SCM.' } stage('Build') { sh 'mvn clean package -DskipTests=true' echo 'Built project using Maven.' } stage('Test') { sh 'mvn test' echo 'Ran tests on the application.' } stage('Deploy') { def artifactName = "target/${env.JOB_NAME}-${env.BUILD_NUMBER}.jar" sh """ cp target/*.jar ${artifactName} nohup java -jar ${artifactName} > app.log 2>&1 & echo \$! > PID_FILE """ echo 'Successfully deployed and started the application.' } } postBuild { step([$class: 'ArtifactArchiver', artifacts: '**/*.jar']) step([$class: 'JUnitResultArchiver', testResults: 'target/surefire-reports/**/*.xml']) } ``` 此脚本同样实现了从代码检出到应用部署的过程,并提供了更高的自定义能力。 --- ### 关键点解析 1. **Maven 构建工具**:在 Build 和 Test 阶段中使用了 Maven 来管理依赖项和执行编译、打包以及测试操作[^2]。 2. **后台进程启动**:为了确保 Spring Boot 应用能够在服务器上持续运行,在 Deploy 阶段采用了 `nohup` 命令将 Java 程序作为守护进程启动。 3. **日志记录与 PID 文件**:通过重定向标准输出至 `app.log` 文件保存运行日志;同时利用 `$!` 获取子进程 ID 并写入 PID 文件以便后续监控或停止服务。 4. **错误处理机制**:Post 操作部分涵盖了无论成功与否均需完成的任务 (如存档工件),还设置了失败时发送邮件通知的功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值