Git, 내 최근 N개 커밋의 댓글 목록 보기
Git에서 내가 마지막으로 한 N개의 커밋의 댓글 목록과 시간을 볼 수 있는 방법이 있습니까?
SO를 확인한 후, 제가 발견한 유일한 관련성은 Git - 그들이 만든 모든 커밋과 블롭을 가져오지만, 그것은 모든 사용자의 모든 커밋을 보여주고, 다른 많은 정보를 출력합니다.
명령줄을 사용하려면 다음을 사용할 수 있습니다.--author=<your name>
예: 최근 5개 커밋을 보려면 다음과 같이 하십시오.
git log -n 5 --author=Salvador
보다 단순한 한 줄 솔루션을 원하는 경우:
git log --oneline -n 5 --author=Salvador
추가하도록 편집됨
단일 줄 버전을 사용하려면 다음에 대한 별칭을 만들어 보십시오.git log
이렇게 (제가 zsh를 위해 가지고 있는 것입니다)
alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
이제 다음을 사용할 수 있습니다.
glog -n 5
그리고 다음과 같은 좋은 결과를 얻었습니다.
색상이 지정되고 작성자의 이름이 표시되며 그래프도 표시되며 다른 플래그(예: --author)를 전달하여 필터링을 더욱 강화할 수 있습니다.
사용--author
및/또는--committer
필터링 옵션git log
게다가-n
커밋 수를 제한하는 옵션입니다.예:
git log --author='Salvador Dali' -n 10
git log --format="%h %B" --oneline -n 1
이렇게 하면 커밋 ID가 약어로 표시된 최신 깃 로그 주석 블록이 표시됩니다.
git log --format="%H %B" -n 1
이렇게 하면 전체 커밋 ID가 포함된 최신 gitlog 댓글 블록이 표시됩니다.
Git Pretty Format에서 자신만의 포맷을 구축할 수 있습니다.
git log --author="My name" -n 5
(참조)man git-log
모든 대안에 대해)
최근 N개 커밋의 주석 목록 보기
git log --oneline -10
이전 커밋으로 체크아웃
git ckeckout 3e6bb80
이전 커밋을 체크아웃한 후 최신 커밋으로 돌아가기
git checkout -
마지막 XGit 커밋 메시지만 검색하는 경우 다음 명령을 사용하여 마지막 5개의 커밋 메시지를 새 줄로 구분된 문자열로 제공합니다.
git log -5 --oneline --format=%s | sed 's/^.*: //'
다음과 같은 내용을 출력합니다.
Remove references to Node 8
Move ESLint cache file into node_modules
Update postcss packages
Add TypeScript 4.x as peerDependency to react-scripts
Create FUNDING.yml
git log --max-count=15 --max=" 형식:%C(딤그린) %<(9, 트런치) %ar %C(볼드 마젠타) %h(볼드 마젠타) %<(12,트런치) %an %C(볼드 옐로우) %<(113,트런치) %s" -- 병합 없음
알림...노란색)%<(113,132) 113은 설정을 재정의하지 않고 전체 사용자 지정을 허용하도록 주석을 트리밍하는 길이입니다.
앞서 말한 것처럼 이것은 에일리어스일 수도 있고 파워셸 함수에 싸여 있을 수도 있습니다.
다음은 OP를 넘어서지만 스레드에 약간의 가치를 가져옵니다.
제가 넋이 나간 건 알지만 그게 우리가 하는 일입니다.
function logs() {
<#
.SYNOPSIS
Shows my logs
.DESCRIPTION
Returns an abreviated list of logs meeting the filtering provided including max returned, committor by case sensitive pattern, branch, local or remote, and a 'my' shourcut to get the callers commits only
.EXAMPLE
PS>logs
[ Basic usage gets maximum 15 logs from the origin/<current branch> ]
origin/master logs
git log origin/master --max-count=15 --pretty="format:%C(dim green) %<(9,trunc)%ar %C(bold magenta)%h %C(bold green)%<(12,trunc)%an %C(bold yellow)%<(113,trunc)%s"
2 days .. b6e4d0b Joe Johnston Added Posh
2 days .. 0f1a166 Joe Johnston Updated the profile system
4 days .. dfd3115 Joe Johnston added .net install and pinned applications. Updated git functions
6 weeks.. 47bd9e9 Joe Johnston updated functions
3 month.. 5148f09 Joe Johnston initial add
.EXAMPLE
PS>logs -l
[ Usage gets maximum 15 local logs from the <current branch> ]
logs
git log --max-count=15 --pretty="format:%C(dim green) %<(9,trunc)%ar %C(bold magenta)%h %C(bold green)%<(12,trunc)%an %C(bold yellow)%<(113,trunc)%s"
3 hours.. efb36e9 Joe Johnston updated profile to set-execution
3 hours.. 4355a00 Joe Johnston Merge branch 'master' of https://github.com/xxx
3 hours.. 84cd380 Joe Johnston updated gitfunctions - added undomerge
2 days .. b6e4d0b Joe Johnston Added Posh
2 days .. 0f1a166 Joe Johnston Updated the profile system
4 days .. dfd3115 Joe Johnston added .net install and pinned applications. Updated git functions
6 weeks.. 47bd9e9 Joe Johnston updated functions
3 month.. 5148f09 Joe Johnston initial add
.EXAMPLE
logs 25
[ Usage gets maximum 25 logs from the origin/<current branch> ]
.EXAMPLE
logs -m -c 20
[ Usage gets maximum 20 local logs from the <current branch> commited by me]
.EXAMPLE
logs -b dev/iOS -c 25 -l -c "Jackson"
[ Usage gets maximum 20 local logs from the <current branch> commited by the <pattern> Jackson]
#>
[cmdletbinding()]
Param(
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('c')]
[int]$Count = 15,
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('b')]
[string]$Branch = "Current",
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('u')]
[Alias('user')]
[string]$Committer = "",
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('m')]
[Alias('me')]
[Alias('onlyme')]
[switch]$My = $false,
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('g')]
[switch]$Graph = $false,
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('sm')]
[Alias('merge')]
[switch]$ShowMerges = $false,
[parameter(Mandatory=$false,ValueFromPipeline)]
[Alias('r')]
[switch]$Remote = $false
)
$merge = '--no-merges';
if ($ShowMerges) {
$merge = '';
}
$Pretty = "--pretty=`"format:%C(dim green) %<(9,trunc)%ar %C(bold magenta)%h %C(bold green)%<(12,trunc)%an %C(bold yellow)%<(113,trunc)%s`"";
#git config --global format.pretty $Pretty
if ($Branch -eq "Current") {
$Branch = git symbolic-ref --short HEAD;
write-host "************************************************";
} else {
write-host "================================================";
}
if ($Remote -eq $true) { $Where = "origin/$Branch"; }
if ($Graph -eq $true) { $GraphTag = "--graph"; }
if([string]::IsNullOrEmpty($Committer) -eq $false) {
$Who = $Committer;
$Committer = "--committer=" + $Committer;
write-host $Who
}
if ($My -eq $true) {
$me = git config user.name;
$Committer = "--committer=`"$me`"";
$Who = "**MY**";
}
write-host "$Who $Where logs" -foregroundcolor "Red";
$commandOut = "git log $Where $GraphTag --max-count=$Count $Pretty $Committer $GraphTag $merge";
write-Verbose $commandOut;
write-host;
git log $Where --max-count=$Count $Pretty $Committer $GraphTag $merge
write-host
}
처럼 일하는.less
계속할지 묻는 메시지 없이 예쁜 형식으로:
git --no-pager log --decorate=short --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' -n5
잘 작동합니다.
언급URL : https://stackoverflow.com/questions/13542213/git-see-a-list-of-comments-of-my-last-n-commits
'programing' 카테고리의 다른 글
파일, 어셈블리 또는 종속성 중 하나를 로드할 수 없습니다.액세스가 거부되었습니다.문제는 무작위이지만 한 번 발생한 후에도 계속됩니다. (0) | 2023.07.10 |
---|---|
특정 파일을 무시하는 대신 특정 파일만 포함하도록 git에게 말하는 방법이 있습니까? (0) | 2023.07.10 |
SQL Server 2005 날짜 추가를 사용하여 날짜에 날짜 추가 (0) | 2023.07.10 |
용어 메타 WPGrapQL/WooGraphQL을 얻는 방법은? (0) | 2023.07.10 |
Delphi - SQL 주입 방지 (0) | 2023.07.10 |