2013-08-02 13 views
1

我有一個存儲庫,我想在其中提及每個更改,發行說明和日誌文件。在GIT的Rep。中生成發行說明

如何生成這些文件?

+1

你想要什麼*生成*日誌文件和發佈筆記,或者你問如何將它們添加到git。爲什麼這有一個C++標籤? – doctorlove

+0

@doctorlove回答你:我想生成日誌文件/發行說明。 – MelMed

+0

@doctorlove C++標記:因爲我的項目是在C++ – MelMed

回答

2

如果您正在尋找創建構建說明你可以使用

git log LAST_TAG..THIS_TAG

如果您提交過類似JiraID或任何你可以做

git log --grep JiraID LAST_TAG..THIS_TAG
後來解析它以任何方式。

+0

那麼,使用GIT命令是處理所有這些問題的最佳方法? – MelMed

0

您可以使用簡單的bash腳本來生成ReleaseNotes.txt。 只需將腳本複製粘貼到代碼的結帳目錄並運行即可。

#!/bin/bash 
#This script will generate the release notes from the commits 
#It will discard prints oF automatic Merges and Pull Requests commits. 
#It will show all the Commits date wise and sorted 

DATE= 
git log --pretty=format:"%ad || %h || %s || Author:%an " --date=short | sort -r | while read line 
do 
temp=`echo $line | egrep -v '(Automatic merge from|Merge pull request|Merge conflict from|Resolve Conflict From)'` 
if [ "$temp" = "" ] 
then 
    continue 
else 
    NEWDATE=`echo $temp | awk '{print $1}'` 
    if [ "$NEWDATE" = "$DATE" ] 
    then 
     echo $temp | awk '{$1="";$2="";print}' >> releaseNotes.txt 
    else 
     echo >> releaseNotes.txt 
     DATE=$NEWDATE 
     echo `date --date=$DATE +%d-%B-%Y` >> releaseNotes.txt 
     echo $temp | awk '{$1="";$2="";print}' >> releaseNotes.txt 
    fi 
fi 
done