在合**時候,為了防止漏合,通常會羅列出某個時間點後自己修改過的所有檔名,然後合併每個檔案修改的內容。這裡使用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...