2017-09-07 8 views
-1

コミットメッセージと対応するファイルをgit logから変更する必要があります。 基本的には、コミットメッセージにBUC IDがあります。ですから、特定のファイルセットに対してBUC IDを取得したいのです。私のコマンドのgit logからawkまたはgrepを使ってデータを抽出する方法は?

出力:git log --dirstat

commit bcc9d8be62b6ac9b8dc02c0bf56d0f433df59466 
    Author: 
    Date: Tue Sep 5 12:08:04 2017 +0530 

    BUC:BUC3565-EPIC14 | Review Page Manage permission and junit 

Change-Id: Ice73d25f77d9f6c4afe647e35bdf9ec280dd7dcf 

31.3% manager/src/main/java/com/ericsson/cm/manager/web/listner/ 
68.6% manager/src/test/java/com/ericsson/cm/manager/web/listners/ 

commit ab70d068b2bcea4060028a3457551cd1cc35a1f1 
Author: 
Date: Tue Sep 5 11:30:29 2017 +0530 

BUC:BUC12345 MADE some changes 

Change-Id: I7e6733afaf8064c1279e5b217c8d4fba469fd061 

    59.0% webui/servermanagement/src/servermanagement/regions/left/ 
    40.9% webui/servermanagement/src/servermanagement/regions/main/ 

今私はwebui/で行われた変更のみのためBUC IDを取得したいです。
どうすれば実現できますか?

+0

'git log --pretty =%s - webui/| awk '{print $ 1}' ' – ElpieKay

+0

@ElpieKayこれは欲しいものとして機能しています。 – user3256114

答えて

0

コマンドは、出力からwebuiによってフィルタを空白行を削除し、webui試合前に2行を出力します。

git log --dirstat | grep -ve '^$' | grep webui -B 2

+0

ありがとう@DevDio。これはまさに私が探していたものでした。 – user3256114

0
$ awk -F'[: ]' '/BUC/{buc=$3;next}/webui/{print buc;exit}' logfile 
BUC12345 

# OR 
$ awk '/BUC/{$1=$1;gsub(/BUC:| .*/,"");buc=$0}/webui/{print buc;exit}' logfile 
BUC12345 

入力:

$ cat logfile 
commit bcc9d8be62b6ac9b8dc02c0bf56d0f433df59466 
    Author: 
    Date: Tue Sep 5 12:08:04 2017 +0530 

    BUC:BUC3565-EPIC14 | Review Page Manage permission and junit 

Change-Id: Ice73d25f77d9f6c4afe647e35bdf9ec280dd7dcf 

31.3% manager/src/main/java/com/ericsson/cm/manager/web/listner/ 
68.6% manager/src/test/java/com/ericsson/cm/manager/web/listners/ 

commit ab70d068b2bcea4060028a3457551cd1cc35a1f1 
Author: 
Date: Tue Sep 5 11:30:29 2017 +0530 

BUC:BUC12345 MADE some changes 

Change-Id: I7e6733afaf8064c1279e5b217c8d4fba469fd061 

    59.0% webui/servermanagement/src/servermanagement/regions/left/ 
    40.9% webui/servermanagement/src/servermanagement/regions/main/ 
+0

お返事ありがとうございます@Akshay Hegdeしかし、私は他の2人が提供するソリューションがはるかに簡単で使いやすくなっています。 – user3256114

関連する問題