某個時間點後修改的所有檔名

2021-10-16 17:09:31 字數 1913 閱讀 7886

在合**時候,為了防止漏合,通常會羅列出某個時間點後自己修改過的所有檔名,然後合併每個檔案修改的內容。這裡使用git log命令解決這個問題。

git log命令格式:

git log [

][][

[--]

…​]

常用選項

--since=

--after=

展示某個時間點後的提交。

--until=

--before=

展示某個時間點前的提交。

--author=

--committer=

限制輸出提交者與指定模式(正規表示式)相匹配的提交。 如果有多個–author = ,則提交者與任意正規表示式匹配即可輸出(多個–committer = 類似)。

--grep=

限制輸出提交日誌與指定模式(正規表示式)匹配的提交。 如果使用多個–grep = ,則提交日誌與任意正規表示式匹配即可。

--all-match
如果存在多個–grep = ,則提交日誌需要與所有正規表示式匹配,而不是任意。

--decorate[

=short|full|auto|no]

展示提交的ref名稱。 如果指定為short,則不會展示ref名稱的字首refs/heads/,refs/tags/和refs/remotes/。 如果指定了full,則將列印完整的引用名稱(包括字首)。 如果指定了auto,如果輸出將輸出到終端,則同short,否則不顯示引用名稱。 預設選項是short。

--name-only
只展示修改檔名,不展示修改檔案內容。

--oneline
將提交資訊單行展示。

所以如果需要展示某個時間點後自己修改的所有檔名,則需要加–name-only限制只展示檔名,–since= 或者–after=限制修改的時間點,–author=限制提交者,–oneline 單行展示

git log --name-only --since=

"2018-05-21 00:00:00" --author=

'u010141779' --oneline

這樣的話還有乙個問題,就是單行的提交資訊會混雜在修改的檔名中,為了將提交資訊和修改的檔名區分開,可以使用grep或者sed命令進行模式匹配。

這spring boot中,檔名肯定以專案名開始,所以使用grep可以匹配出檔名:

git log --name-only --since=

"2018-05-21 00:00:00" --author=

'u010141779' --oneline |

grep

'^專案名'

或者使用sed:

git log --name-only --since=

"2018-05-21 00:00:00" --author=

'u010141779' --oneline |

sed -n '/^專案名/p'

但是這樣的話,還有乙個問題,就是多次提交可能修改同一檔案,這樣的話會導致同一檔案出現多次,可以考慮使用sort -u 去重。

git log --name-only --since="2018-05-21 00:00:00" --author='u010141779' --oneline | sed -n '/^專案名/p'  | sort -u

修改aspx檔名後出錯

遇到問題 專案裡有 articledc.aspx articledc.aspx.cs 檔案,我把這兩個檔案複製後改名為 articledn.aspx articledn.aspx.cs 生成網頁就出錯,相信改過檔名的都遇到過這個問題,請問如何解決。解決辦法 法一 html中需要改動這裡 page l...

修改所有列 Excel 批量處理 修改檔名

這裡是匯集在日常工作上常碰到的場景,逐一匯集在此。以下是目錄 1 批量修改檔案 2 批量修改資料夾 3 批量修改工作表名 對於第一部分,這裡可以細分有兩種。兩種方法都屬於比較清晰易懂的 a vba 舊名as新名 例外,這還分享乙個返回當前桌面desktop路徑的其中一種方法。建立shell物件,旗下...

Python 給某個檔名新增時間戳

問題描述 1 先新增時間戳,再複製移動,兩個檔案加下面的檔名都被修改 將 home kangle webdata jpegimages 路徑下的111.jpg檔案新增當前時刻的時間戳 重新命名為類似2018 03 27 18 11 11 111.jpg的形式,而且儲存到另外乙個路徑 home kan...