【嵌入式开发 Linux 常用命令系列 4.1 -- git push 远程分支与本地分支查看】

文章目录

  • 概述
    • git push 语法
      • 步骤1:git 远程主机名查看
      • 步骤2:git 远程分支名查看
      • 步骤3:git 本地分支名查看
      • 示例演示


概述

在日常工作中,将代码 git clone 本地之后,或者使用repo init && repo sync 之后不知道使用什么命令将修改好的代码git push 到服务器上,本篇文章以自己工作中遇到的实际问题为例,介绍下如何在不知道 git push 的具体参数的情况下,一步一步查找到git push的正确命令。

git push 语法

我们都知道 push 命令的作用是将本地当前分支的代码推送到远程指定的分支上,其命令的格式如下:

git push <远程主机名> <本地分支名>:<远程分支名>

使用 git push 命令将 <本地分支名> 的代码推送到 <远程主机名> 中的 <远程分支名> 上。

  • <远程主机名> :指的是你想要推送到哪个远程主机中,在我们克隆一个项目的时候,git 会自动帮我们把远程主机起名为 origin一般情况下是不会去修改这个名字的
  • <本地分支名>:是本地分支的名字,可以使用命令 git branch 来查看本地有哪些分支。
  • <远程分支名>:指的是远程主机中的分支名,如果远程主机没有这个分支,则会新创建一个。

步骤1:git 远程主机名查看

使用 git remote 命令或者 git remote -v 命令

[10:45:53]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git remote
arm-val

or

[10:47:31]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git remote -v
arm-val ssh://codereview.armtech.com/arm_val/device (fetch)
arm-val ssh://codereview.armtech.com/arm_val/device (push)

所以可以看到远程主机名为 arm-val

步骤2:git 远程分支名查看

使用 git branch -vv, 可以看到远程分支名为arm-val/arm_main

[10:54:31]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git branch -vv
* test b3f0b95 [arm-val/arm_main: ahead 1] device: compile: support npu device compile

步骤3:git 本地分支名查看

HEAD 表示一个特别的指针,指向你正在工作的本地分支的指针,可以当做是本地分支的别名。git 通过它可以知道当前工作区间在哪个分支。

refs/for 表示我们提交代码到服务器之后是需要经过 code review 之后才能进行merge 操作的,而 refs/heads 是不需要的。

所以 git push 的命令为:

git push  <远程主机名> HEAD:refs/for/<远程分支名>

示例演示

查看远程分支名

[10:45:26]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git branch -vv
* test b3f0b95 [arm-val/arm_main: ahead 1] device: compile: support npu device compile

查看远程主机名

[10:37:30]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git remote -v
arm-val ssh://codereview.armtech.com/arm_val/device (fetch)
arm-val ssh://codereview.armtech.com/arm_val/device (push)

开始推代码
使用 git push arm-val HEAD:refs/for/arm_main 开始推代码:

[10:37:00]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git push arm-val HEAD:refs/for/arm_main
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 485 bytes | 485.00 KiB/s, done.
Total 4 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (3/3)
remote: Processing changes: refs: 1, done
remote: ERROR: commit 4b80700: missing Change-Id in message footer
remote:
remote: Hint: to automatically insert a Change-Id, install the hook:
remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 sam@codereview.armtech.com:hooks/commit-msg ${gitdir}/hooks/
remote: or, for http(s):
remote:   f="$(git rev-parse --git-dir)/hooks/commit-msg"; curl -o "$f" https://codereview.armtech.com/tools/hooks/commit-msg ; chmod +x "$f"
remote: and then amend the commit:
remote:   git commit --amend --no-edit
remote: Finally, push your changes again
remote:
To ssh://codereview.armtech.com/arm_val/device! [remote rejected] HEAD -> refs/for/arm_main (commit 4b80700: missing Change-Id in message footer)
error: failed to push some refs to 'ssh://codereview.armtech.com/arm_val/device'

按照提示操作:

[10:37:46]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$  gitdir=$(git rev-parse --git-dir); scp -p -P 29418 sam@codereview.armtech.com:hooks/commit-msg ${gitdir}/hooks/
[10:38:01]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git commit --amend --no-edit
[uefi_test b3f0b95] device: compile: support npu device compileDate: Wed Dec 6 14:38:57 2023 +08001 file changed, 3 insertions(+), 3 deletions(-)

修改后再次重推:

[10:38:15]sam@linux (*^~^*) ~/sam/workbase/npu_code/device$ git push arm-val HEAD:refs/for/arm_main
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 520 bytes | 520.00 KiB/s, done.
Total 4 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (3/3)
remote: Processing changes: refs: 1, new: 1, done
remote: commit b3f0b95: Missing issue-id in commit message
remote: Commit b3f0b957b0c5dd4911707855dec98f321dcfa737 not associated to any issue
remote:
remote: Hint: insert one or more issue-id anywhere in the commit message.
remote:       Issue-ids are strings matching (DPTS[WE][A-Z]*-[0-9]+)
remote:       and are pointing to existing tickets on its-jira Issue-Tracker
remote:
remote: SUCCESS
remote:
remote:   https://codereview.armtech.com/c/arm_val/device/+/9820 device: compile: support npu device compile [NEW]
remote:
To ssh://codereview.armtech.com/arm_val/device* [new reference]   HEAD -> refs/for/arm_main

至此,成功完成了 git push 的命令。
TIPS: 遇到问题还是要多查查,小时候学的口号:“不懂就要问” 应该改为 “不懂就去查”… 在查找分析结束后自己最好复盘下。即便别人告诉你答案,你还是不知其所以然!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLserver截取字符串

当我们存的数据是json的时候可以全部取出在模糊查询但是有多个重复数据的时候就没办法准确的模糊出来这个时候我们就需要用的字符串截取 --创建函数create FUNCTION [dbo].[Fmax] (str varchar(50),start VARCHAR(50),length VARCHAR(50)) RETURNS varchar(max) AS BEGINDEC…

商品详情页评论和评论列表评论的排序html代码

以下是一个简单的商品详情页的 HTML 代码示例&#xff1a; <!DOCTYPE html> <html> <head><title>商品详情页</title><style>/* CSS 样式可以在这里添加 */</style> </head> <body><h1>商品详情页</h1><…

7-1 查找书籍

给定n本书的名称和定价&#xff0c;本题要求编写程序&#xff0c;查找并输出其中定价最高和最低的书的名称和定价。 输入格式: 输入第一行给出正整数n&#xff08;<10&#xff09;&#xff0c;随后给出n本书的信息。每本书在一行中给出书名&#xff0c;即长度不超过30的字…

条码生成器与Zint使用

文章目录 目的条形码zint支持条形码种类下载编译qt pro配置code保存条形码目的 1: 了解条形码数据理论知识 2: 了解zint第三方库相关, 如何编译引用到项目中 条形码 条形码(Barcode)一维码 和二维码(QR code)都是用于存储信息的图形化表示方式,通常应用于商品标识、库…

无头浏览器与Selenium:探索无界爬虫的奇妙世界

selenium设置无头浏览器 背景 ​ 我们之前的selenium都是浏览器驱动自动打开一个网页&#xff0c;执行相关操作&#xff0c;其实也可以让其后台显示&#xff0c;不用在前台显示。 ​ 要设置无头浏览器&#xff0c;可以使用Selenium的Headless模式。在Headless模式下&#xf…

鸿蒙(HarmonyOS)应用开发——web组件

简述 在开发的工作中&#xff0c;可能存在一个场景&#xff0c;我们有一个问卷调查的h5页面&#xff0c;需要切入到app 中。这个时候&#xff0c;就需要从app 端操作&#xff0c;切换到web端操作。不管是安卓、ios、小程序都提供有web组件。那么harmonyos 中也提供web组件来在…

Kafka中的Topic

在Kafka中&#xff0c;Topic是消息的逻辑容器&#xff0c;用于组织和分类消息。本文将深入探讨Kafka Topic的各个方面&#xff0c;包括创建、配置、生产者和消费者&#xff0c;以及一些实际应用中的示例代码。 1. 介绍 在Kafka中&#xff0c;Topic是消息的逻辑通道&#xff0…

【华为数据之道学习笔记】3-2 基础数据治理

基础数据用于对其他数据进行分类&#xff0c;在业界也称作参考数据。基础数据通常是静态的&#xff08;如国家、币种&#xff09;&#xff0c;一般在业务事件发生之前就已经预先定义。它的可选值数量有限&#xff0c;可以用作业务或IT的开关和判断条件。当基础数据的取值发生变…

GSAP动画库,探究苹果官网页面滚动动画是如何实现的

GSAP动画库&#xff0c;探究苹果官网页面滚动动画是如何实现的 前言 每次浏览苹果官网时都在好奇&#xff0c;当我们向下滚动页面时一个个文字或图片总能缓缓浮现&#xff0c;往上滚动时又能慢慢收起来&#xff0c;这就究竟是如是实现的呢。在查阅一些资料时发现了Scrollmagi…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含pytho、JS工程源码)+数据集+模型(五)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境微信开发者工具OneNET云平台 模块实现1. 数据预处理2. 创建模型并编译3. 模型训练及保存4. 上传结果5. 小程序开发1&#xff09;查询图片2&#xff09;查询识别结…

paypal贝宝怎么绑卡支付

一、PayPal是什么 PayPal是一个很多国家地区通用的支付渠道&#xff0c;我们可以把它理解为一项在线服务&#xff0c;相当于美国版的支付宝。你可以通过PayPal进行汇款和收款&#xff0c;相比传统的电汇和西联那类的汇款方式&#xff0c;PayPal更加简单和容易&#xff0c;被很…

利用proteus实现串口助手和arduino Mega 2560的串口通信

本例用到的proteus版本为8.13&#xff0c;ardunio IDE版本为2.2.1&#xff0c;虚拟串口vspd版本为7.2&#xff0c;串口助手SSCOM V5.13.1。软件的下载安装有很多教程&#xff0c;大家可以自行搜索&#xff0c;本文只介绍如何利用这4种软件在proteus中实现arduino Mega 2560的串…

Day45| 爬楼梯 (进阶)Leetcode 322. 零钱兑换 Leetcode 279. 完全平方数

爬楼梯 &#xff08;进阶&#xff09; 题目链接 爬楼梯&#xff08;进阶版&#xff09; 本题目属于排列中的背包问题&#xff0c;所以先遍历背包&#xff0c;后遍历物品&#xff0c;剩下的就是完全背包的板子了&#xff0c;下面直接上代码&#xff1a; #include<iostream…

刷题记录--算法--简单

第一题 2582. 递枕头 已解答 简单 相关标签 相关企业 提示 n 个人站成一排&#xff0c;按从 1 到 n 编号。 最初&#xff0c;排在队首的第一个人拿着一个枕头。每秒钟&#xff0c;拿着枕头的人会将枕头传递给队伍中的下一个人。一旦枕头到达队首或队尾&#xff0c;传递…

高防IP是什么?有什么优势?

随着互联网的普及和快速发展&#xff0c;网络安全问题日益突出。在众多安全问题中&#xff0c;DDOS攻击是一种常见的攻击手段&#xff0c;它通过发送大量的无效或低效请求&#xff0c;使得目标服务器无法响应正常用户的请求&#xff0c;从而造成服务不可用的情况。为了解决这个…

部署zabbix

源码下载地址&#xff1a; Download Zabbix sources nginx: download 防火墙和selinux都需要关闭 1、部署监控服务器 1&#xff09;安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来&#xff0c;并且还需要使用MySQL来存储数据&#xff0c;因此需要先为Zabbix准备基础…

vue的el

类型&#xff1a;string | Element 限制&#xff1a; 只在用 new 创建实例时生效。 详细&#xff1a; 提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标。可以是 CSS 选择器&#xff0c;也可以是一个 HTMLElement 实例。 在实例挂载之后&#xff0c;元素可以用 vm.…

Java创建线程有哪几种方式?

Java创建线程有哪几种方式&#xff1f; 在 Java 中&#xff0c;创建线程有多种方式&#xff0c;主要包括使用 Thread 类和实现 Runnable 接口。以下是几种常见的创建线程的方式&#xff1a; 继承 Thread 类&#xff1a; 通过继承 Thread 类并重写 run 方法来创建线程。 class …

如何使用eXtplorer+cpolar内网穿透搭建个人云存储实现公网访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

关于互联网安全方面需要了解的一些知识

关于互联网安全方面需要了解的一些知识 文章目录 关于互联网安全方面需要了解的一些知识一、资产扫描二、漏洞扫描三、渗透测试四、POC五、Exp六、代码规范七、函数命名八、注释怎么写 一、资产扫描 资产扫描是一种通过扫描网络或系统中所有设备、应用程序和服务&#xff0c;识…