【嵌入式開發 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.pswp.cn/news/206710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206710.shtml
英文地址,請注明出處:http://en.pswp.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;識…