2、git進階操作

2、git進階操作

2.1.1 分支的創建

命令參數含義
git branch (git checkout -b)<new_branch> <old_branch>表示創建分支
-d <-D>刪除分支 –d如果分支沒有合并,git會提醒,-D強制刪除
-a -v查看分支
-m重新命名分支
commit id從指定的commit id簽出代碼 git branch branch_name commit id
$ git push origin branch_name將本地分支推到遠程
$ git push origin branch_name --delete 將遠程分支刪除
### 2.1.2 分支的合并
命令參數含義
git merge<branch_name>需要合并的分支
--abort終止合并,并回復文件
--continue繼續合并
### 2.1.3 git rebase
命令參數含義
git rebase<branch_1> <branch_2>將branch_1上面的移動到branch_2
--abort終止rebase
--continue繼續rebase
-i進入交互模式

2.2 git reset/revert/checkout撤銷操作

命令參數含義
git reset--soft commit_id撤銷到某個commit,不修改工作區和索引區內容
--mixed commit_id 撤銷到某個commit,不修改工作區,修改索引區內容
--hard commit_id撤銷到某個commit,并重置工作區和索引區內容
HEAD file_name撤銷索引區指定的file_name
git revertcommit_id只撤銷某個commit
git checkout-- . 撤銷工作區所有文件

2.3 git remote遠程服務器操作

創建倉庫
git clone --bare DataStruct-Algorithm /F/datastruct-algorithm.git
git init --bare DataStruct_algorithm.git
命令參數含義
git remote-v查看詳細的信息
show server_name查看主機的詳細信息
add server_name web_site添加主機
rm server_name刪除主機
rename old_server_name new_ server_name修改主機名

2.4 git log高級用法

命令參數含義
git log-n表示查看最近提交的n條記錄
--graph顯示當前分支提交記錄以圖形方式展示,后面—all 表示所有的分支
--date=short查看提交的時間
-p表示提交文件的修改了那些內容
file_name表示查看file_name文件的提交記錄
commit_id..commit_id查看兩個commit id之間的提交記錄
--since=<date>自date以來的記錄
--before=<date>表達date之前的記錄
--after=<date>表示date之后的記錄
--until=<date>表達直到date之后的記錄
$ git log --since="2019-07-11" --until="2019-07-16" --date=short\n 表示2019-07-11~2019-07-16(不包括16號)之間提交的記錄
--grep=<contents>根據提交的message內容進行匹配
--author=”author_name”根據作者名來搜索
--skip=n跳過前面的n條記錄
--stat顯示提交的文件
--left-right branch1…branch2比較兩個分支的commit差異
命令參數含義
git reflog show查看當前分支的記錄
--all查看所有分支的記錄
在找到commit id之后可以使用cherry-pick branch等命令 reflog有個特點就是它只存在本地記錄里面,并不會上傳到服務器上

2.5 git diff/show查看提交詳情

2.5.1 diff
命令參數含義
git diff不加參數尚未緩存的修改(還未執行add命令)
--cached已經緩存的修改
<branch_name1> <branch_name2> [file_name]比較兩個分支file_name的差異
commit_id commit_id比較兩個commit id 區別
3.5.2 show
命令參數含義
git show<commit_id>顯示commit id提交修改的內容
<commit_id> <file_name>查看commit id 中對應的file_name修改內容
<tag_name>查看tag信息
### 2.6 git tag操作
命令參數含義
git tag-m注釋信息
-f強制覆蓋
-d刪除
-l列出所有的tag
-n列出詳細信息
$ git tag v2.0.0.0 –m “new version v2.0.0.0” $ git ls-remote --tags <server_name>查看遠程tag $ git fetch <server_name> <tag_name> 拉取遠程tag $ git push --delete <server_name> <tag_name> 刪除遠程的tag

注意在checkout tag的時候,如果我們在當前的tag上做了提交,就會造成一個游離的HEAD現象,這是個非常危險的操作,有可能會造成你的commit丟失問題。

2.7 git stash操作

stash的查看,增加,刪除,對比,應用

命令參數含義
git stashsave [message]保存stash,并且有注釋信息
show [stash] -p查看某個stash的詳細信息
drop [stash]刪除某個stash
pop將當前的第一個stash應用到當前的分支上
apply [stash]應用指定的stash,并且保存stash不變化
clear清空stash
list查看所有的stash

2.8 git blame操作

命令參數含義
git blame file_name查看這個文件都有誰提交的
file_name -L num1:num2查看這個文件從num1行到num2行都有誰提交的
file_name –L:function_name查看這個文件里面函數最后一次誰修改過
--colors-lines顯示顏色標記
這個命令有時候可以結合grep使用,主要是為了精確查找信息
### 2.9 git patch 操作
1.先生成patch文件
$ git format-patch start_commit_id..end_commit_id
$ git format-patch –n3
2.可以事先檢測在合并的時候是否存在沖突
$ git apply --check patch_file
3.合并patch文件
$ git am patch_file
4.撤銷patch
$ git apply –R patch_file

2.10 git submodule管理大型項目的利劍

$ git init –bare test_submodule.git
$ git submodule add git@github.com:MingYueRuYa/cpp_inside_object.git
$ git submodule add git@github.com:MingYueRuYa/cpp_study.git
$ git commit –m “add submodule”
$ git push
拉取遠程分支
$ git clone git@github.com:MingYueRuYa/test_submodule.git
$ git submodule init
$ git submodule update (git submodule update –init 將上面的兩步合起來)
$ git submodule foreach git pull
$ git submodule foreach git submodule update
$ git rm -rf submodule_name (刪除submodule)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/168189.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/168189.shtml
英文地址,請注明出處:http://en.pswp.cn/news/168189.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何打造“面向體驗”的音視頻能力——對話火山引擎王悅

編者按&#xff1a;隨著全行業視頻化的演進&#xff0c;我們置身于一個充滿創新與變革的時代。在這個數字化的浪潮中&#xff0c;視頻已經不再只是傳遞信息的媒介&#xff0c;更是重塑了我們的交互方式和體驗感知。作為字節跳動的“能力溢出”&#xff0c;火山引擎正在飛速奔跑…

【React】路徑別名配置

路徑解析配置&#xff08;webpack&#xff09;&#xff0c;把 / 解析為 src/路徑聯想配置&#xff08;VsCode&#xff09;&#xff0c;VSCode 在輸入 / 時&#xff0c;自動聯想出來對應的 src/下的子級目錄 1. 路徑解析配置 安裝craco npm i -D craco/craco項目根目錄下創建配…

RK3588平臺 USB框架與USB識別流程

一.USB的基本概念 在最初的標準里&#xff0c;USB接頭有4條線&#xff1a;電源&#xff0c;D-,D,地線。我們暫且把這樣的叫做標準的USB接頭吧。后來OTG出現了&#xff0c;又增加了miniUSB接頭。而miniUSB接頭則有5條線&#xff0c;多了一條ID線,用來標識身份用的。 熱插拔&am…

9. Mysql 模糊查詢和正則表達式

一、模糊查詢 1.1 LIKE運算符 在MySQL中&#xff0c;可以使用LIKE運算符進行模糊查詢。LIKE運算符用于匹配字符串模式&#xff0c;其中可以使用通配符來表示任意字符或字符序列。 示例代碼 SELECT * FROM table_name WHERE column_name LIKE pattern;table_name&#xff1a…

最新AIGC創作系統ChatGPT網站源碼,Midjourney繪畫系統,支持GPT-4圖片對話能力(上傳圖片并識圖理解對話),支持DALL-E3文生圖

一、AI創作系統 SparkAi創作系統是基于OpenAI很火的ChatGPT進行開發的Ai智能問答系統和Midjourney繪畫系統&#xff0c;支持OpenAI-GPT全模型國內AI全模型。本期針對源碼系統整體測試下來非常完美&#xff0c;可以說SparkAi是目前國內一款的ChatGPT對接OpenAI軟件系統。那么如…

2023亞太杯數學建模B題完整原創論文講解

大家好呀&#xff0c;從發布賽題一直到現在&#xff0c;總算完成了2023亞太地區數學建模競賽B題玻璃溫室的微氣候調控完整的成品論文。 本論文可以保證原創&#xff0c;保證高質量。絕不是隨便引用一大堆模型和代碼復制粘貼進來完全沒有應用糊弄人的垃圾半成品論文。 論文共6…

第4章 C++多線程系統編程精要

第4章 C多線程系統編程精要 4.1 引言 學習多線程編程面臨的最大的思維方式的轉變有以下兩點&#xff1a; 當前線程可能隨時會被切換出去&#xff0c;或者說被搶占&#xff08;preempt&#xff09;了多線程程序中事件的發生順序不再有全局統一的先后關系 多線程程序的正確性…

軟著項目推薦 深度學習 opencv python 實現中國交通標志識別

文章目錄 0 前言1 yolov5實現中國交通標志檢測2.算法原理2.1 算法簡介2.2網絡架構2.3 關鍵代碼 3 數據集處理3.1 VOC格式介紹3.2 將中國交通標志檢測數據集CCTSDB數據轉換成VOC數據格式3.3 手動標注數據集 4 模型訓練5 實現效果5.1 視頻效果 6 最后 0 前言 &#x1f525; 優質…

游覽器緩存講解

瀏覽器緩存是指瀏覽器在本地存儲已經請求過的資源的一種機制&#xff0c;以便在將來的請求中能夠更快地獲取這些資源&#xff0c;減少對服務器的請求&#xff0c;提高頁面加載速度。瀏覽器緩存主要涉及到兩個方面&#xff1a;緩存控制和緩存位置。 緩存控制 Expires 頭&#…

Javascript每天一道算法題(十六)——獲取除自身以外數組的乘積_中等

文章目錄 1、問題2、示例3、解決方法&#xff08;1&#xff09;方法1 總結 1、問題 給你一個整數數組 nums&#xff0c;返回 數組 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴元素和后綴…

RAM模型從數據準備到pretrain、finetune與推理全過程詳細說明

提示&#xff1a;RAM模型&#xff1a;環境安裝、數據準備與說明、模型推理、模型finetune、模型pretrain等 文章目錄 前言一、環境安裝二、數據準備與解讀1.數據下載2.數據標簽內容解讀3.標簽map內容解讀 三、finetune訓練1.微調訓練命令2.load載入參數問題3.權重載入4.數據加載…

使用new Vue()的時候發生了什么?

前言 Vue.js是一個流行的JavaScript前端框架&#xff0c;用于構建單頁面應用&#xff08;SPA&#xff09;和用戶界面。當我們使用new Vue()來創建一個Vue實例時&#xff0c;Vue會執行一系列的初始化過程&#xff0c;將數據變成響應式&#xff0c;編譯模板&#xff0c;掛載實例…

RabbitMQ之發送者(生產者)可靠性

文章目錄 前言一、生產者重試機制二、生產者確認機制實現生產者確認&#xff08;1&#xff09;定義ReturnCallback&#xff08;2&#xff09;定義ConfirmCallback 總結 前言 生產者重試機制、生產者確認機制。 一、生產者重試機制 問題&#xff1a;生產者發送消息時&#xff0…

分布式事務總結

文章目錄 一、分布式事務基礎什么是事務&#xff1f;本地事物分布式事務分布式事務的場景 二、分布式事務解決方案全局事務可靠消息服務TCC 事務 三、Seata 分布式事務解決方案3.1 Seata-At模式3.2 秒殺項目集成 Seata啟動 Seata-Server項目集成seata配置AT模式代碼實現 3.3 Se…

openstack(2)

目錄 塊存儲服務 安裝并配置控制節點 安裝并配置一個存儲節點 驗證操作 封裝鏡像 上傳鏡像 塊存儲服務 安裝并配置控制節點 創建數據庫 [rootcontroller ~]# mysql -u root -pshg12345 MariaDB [(none)]> CREATE DATABASE cinder; MariaDB [(none)]> GRANT ALL PR…

1、Docker概述與安裝

相關資源網站&#xff1a; ● docker官網&#xff1a;http://www.docker.com ● Docker Hub倉庫官網: https://hub.docker.com/ 注意&#xff0c;如果只是想看Docker的安裝&#xff0c;可以直接往下拉跳轉到Docker架構與安裝章節下的Docker具體安裝步驟&#xff0c;一步步帶你安…

82基于matlab GUI的圖像處理

基于matlab GUI的圖像處理&#xff0c;功能包括圖像一般處理&#xff08;灰度圖像、二值圖&#xff09;&#xff1b;圖像幾何變換&#xff08;旋轉可輸入旋轉角度、平移、鏡像&#xff09;、圖像邊緣檢測&#xff08;拉普拉斯算子、sobel算子、wallis算子、roberts算子&#xf…

【Rust日報】2023-11-22 Floneum -- 基于 Rust 的一款用于 AI 工作流程的圖形編輯器

Floneum -- 基于 Rust 的一款用于 AI 工作流程的圖形編輯器 Floneum 是一款用于 AI 工作流程的圖形編輯器&#xff0c;專注于社區制作的插件、本地 AI 和安全性。 Floneum 有哪些特性&#xff1a; 可視化界面&#xff1a;您無需任何編程知識即可使用Floneum。可視化圖形編輯器可…

oled的使用 動態的變量 51

源碼均在IIC手寫程序中 外部中斷實現變量加一 #include "reg52.h" #include "main.h" #include <intrins.h> #include "OLED.h" #include "bmp.h" #include "Delay.h" sbit LED1 P1^0; sbit LED2 P1^1; sbit LED3…

【LeetCode每日一題】525. 連續數組

題目&#xff1a; 給定一個二進制數組 nums , 找到含有相同數量的 0 和 1 的最長連續子數組&#xff0c;并返回該子數組的長度。 媽的 連題目都沒有讀懂&#xff01;本來看成是找到兩個連續子數組&#xff0c;兩個連續子數組的 0 1 個數分別相同&#xff0c;我說怎么看著如此…