【乾貨向】我想試試教會你如何修改Git提交信息

来源:https://www.cnblogs.com/itartisans/archive/2023/07/05/17529897.html
-Advertisement-
Play Games

Git是目前IT行業使用率最高的版本控制系統,相信大家在日常工作中也經常使用,每次Git提交都會包含提交信息,常用的包括說明、提交人和提交時間等,此篇文章主要向大家介紹下如何修改這些信息,這些命令在正常使用時可能不常用,但還是建議收藏以備不時之需。 ## 新提交 ### 指定提交信息 在使用`git ...


Git是目前IT行業使用率最高的版本控制系統,相信大家在日常工作中也經常使用,每次Git提交都會包含提交信息,常用的包括說明、提交人和提交時間等,此篇文章主要向大家介紹下如何修改這些信息,這些命令在正常使用時可能不常用,但還是建議收藏以備不時之需。

新提交

指定提交信息

在使用git commit命令時,通過-m或者--message參數指定本地提交的信息,示例如下:

git commit -m "<提交信息>"

image

指定提交日期

正常的git提交會預設使用當前時間,但在提交時可以通過--date參數來指定提交時間,不過時間內容的格式與日常使用的格式不一致,此處可以通過git log查看歷史後複製出來然後進行修改。

git commit -m "<提交信息>" --date "Thu Jun 29 06:59:36 2023 +0800"

image
可以看到通過手動指定後第二次提交的時間在第一次提交之前,這與正常提交是不相符的。修改時間可能會導致git記錄錯亂,僅建議在明確需要修改時間的場景下使用。

指定提交人

正常在提交時git會預設使用當前項目設置的作者信息,如果未設置則使用本機git全局配置,但在提交時可以通過--author參數指定提交人,參數格式必須為name<email>

git commit -m "change author" --author "aotian<[email protected]>"

image
可以看到最新一次的提交作業已經與前兩次的不一致了。

追加提交

在工作中偶爾也會遇到提交完了以後發現漏下了某個文件的問題,再提交一次雖然可以解決,但git提交記錄會比較難看,強迫症患者看了那是渾身難受,其實我們可以通過追加的方式進行處理,這樣可以僅保留同一個記錄。追加提交時也可以使用以上提到的參數修改提交信息。

git commit --amend

image
可以看到ammend之後最近一次提交的信息已經被修改,但作者和時間並沒有變化。

歷史提交

修改提交說明

​如果我們有整理git提交記錄的習慣,那工作中肯定需要去修改歷史提交,此時我們需要先回退到要修改的提交之前,然後進行修改,還是上邊的例子,如果我們需要修改第二次提交,那麼我們需要先回退到第一次提交。

git rebase -i d3dabbe3dce8717b264bba23ee78f19c58bb6fed

執行後會打開一個臨時文件,在文件頭部會列出當前提交後續所有的提交(請註意這個列表的順序是按照提交時間順序排列的),每個提交行首的pick欄位代表需要執行的操作,具體選項已經在下方註釋中進行了說明,常用的包括預設的pick,修改時使用的rewordedit,二者區別是reword提交後會自動合併,所以只能編輯提交信息,而edit提交後會停留在修改的提交,之後可以通過ammend修改提交內容,此處我們僅需要修改提交信息,所以將第一行pick修改為reword,之後保存即可。這一部分的操作會因git設置的不一致可能有所差異,有的命令行里的vim,有的是外部的編輯器(例如Visual Studio Code等)。
image
保存後會自動打開另外一個臨時文件,這個文件里展示的就是上一步中指定的要修改的提交,文件第一行就是提交信息,修改後保存即可完成修改,如果提交信息內容為空則會中止此次修改,具體內容如下圖:
image
修改後執行git log查看提交記錄即可發現中間的內容已經被修改
image

修改作者或日期

在上一部分我們修改了提交信息,中間提到過rewordedit的區別,而此處我們修改作者或提交日期則需要使用到edit,同樣使用git rebase -i回退到要修改的內容之前,然後在編輯臨時文件時將第一行修改為edit,然後保存,之後我們會看到如下信息:
image
此時提交停在了第二個提交處,也就是我們要修改的提交,在控制台的提示中可以看到通過git rebase --continue可以回到最新提交,而我們要修改作者或提交日期則需要使用git commit --amend,這個命令同樣可以使用--date--author參數。

git commit --amend --author "aotian<[email protected]>" --date "Thu Jun 30 16:59:36 2023 +0800"

執行後會打開臨時文件確認提交信息,直接保存即可,保存後執行git rebase --continue回到最新提交,然後執行git log查看提交信息即可發現中間的提交已經被修改,且時間晚於排在它後面的提交。
image

image


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ## 一、問題發現 在一次開發中在sp中使用`MySQL PREPARE`以後,使用`match AGAINST`語句作為`prepare stmt`的參數後,發現執行第二遍call會導致資料庫crash,於是開始動手調查問題發生的原因。 > 註:本次使用的 MySQL 資料庫版本為最新的debug ...
  • 由於商品變更MQ消息量巨大,為了提升更新ES的性能,防止出現MQ消息積壓問題,所以本系統使用了BulkProcessor進行批量非同步更新。 ...
  • 摘要: GoEasy帶來了一項令開發者振奮的消息:全面支持Android原生平臺!現在,您可以在Android應用中使用最酷炫的實時通信功能,藉助GoEasy輕鬆實現消息的發送和接收。本文將帶您領略GoEasy最新版本的威力,為您的應用增添一抹鮮活的互動色彩。 嗨,開發者朋友們!是時候展現您的技術才 ...
  • 對安裝的apk進行校驗,除了系統應用市場中下載的,其它渠道的apk都進行安裝攔截,並且彈框提示。 首先需要把驗證的證書保存在資料庫本地,後面需要用到 然後註冊系統廣播,用於接收 apk 安裝時的監聽,這個廣播由系統發出 新裝時的 action ‘android.intent.action.PACKA ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 遇到的問題 在一個新項目中,設計統一了項目中所有的字體,並提供了字體包。在項目中需要按需引入這些字體包。 首先,字體包的使用分為了以下幾種情況: 無特殊要求的語言使用字體A,阿拉伯語言使用字體B; 加粗、中等、常規、偏細四種樣式,AB兩種 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 前言 在使用 Vue 3 組件庫 Naive UI 的數據表格組件 DataTable 時碰到的問題,NaiveUI 的數據表格組件 DataTable 在固定頭部和列的示例中,在鍵盤操作下表格橫向滾動會有問題,本文是記錄下解決問題的過程 ...
  • 1、找到config.json,在配置文件中新增水印效果 /* 上傳圖片配置項 */ "imageWater": "true",/*******************新增圖片水印設置 這裡是新增*/ "imageActionName": "uploadsimage", /* 執行上傳圖片的acti ...
  • # jira安裝具體步驟 1. 安裝docker ![image](https://img2023.cnblogs.com/blog/2627104/202307/2627104-20230705230931019-1424539379.png) 2. 啟動docker ![image](https ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...