programing

첫 번째 줄로만 git log를 출력하는 방법은 무엇입니까?

skycolor 2023. 5. 22. 20:52
반응형

첫 번째 줄로만 git log를 출력하는 방법은 무엇입니까?

는 다에대한형사지합니다고려정의 을 사용자 .git log모든 커밋이 한 줄로 표시되기를 원합니다.각 행은 커밋 메시지의 첫 번째 행만 표시해야 합니다.
는 그것은git log --pretty=short을 해야 제 가 트을해하내지만컴는서전표로시다니됩그가체에릭터퓨로 표시됩니다.git log(타임스탬프를 표시)합니다.

또한, 저는 man 페이지에 정의된 대로 자리 표시자를 사용하려고 했습니다.그러나 로그 메시지를 단축하는 명령을 찾을 수 없었습니다.이 대사 해봤어요.git log --pretty=format:'%h : %s'단락된 해시를 보여줍니다.%h 전체 메시지 리고전메시지체그지▁and.%s일렬로

는 사용중을 하고 있습니다.git version 1.7.3.1.msysgit.0비스타에서


아마도 제가 커밋 메시지를 작성하는 방식과 관련이 있을 것입니다.다음은 예입니다.

Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.

에서 나는 요, 출력만 하고 싶어요, 출력이 되고 싶어요, 출력이 되고 싶어요.Added some functionality. hashshortend 에 붙습니다.

이거 먹어봤어요?

git log --oneline 

git log --pretty=oneline --abbrev-commit및 "짧은 sha" 및 "짧은 설명"을 표시합니다. 예:

9bee8857 Write more code
831fdd6e Write some code Second line of message

문제는 커밋 메시지의 첫 줄 뒤에 빈 줄이 없다는 것입니다.위의 명령어는 일반적으로 사용할 수 있지만 두 번째 줄이 비어 있지 않은 커밋을 테스트했습니다.저도 당신과 같은 결과를 얻었습니다. 전체 메시지가 한 줄로 표시됩니다.

빈 두 번째 줄은 표준 ingit commit 메시지입니다.당신이 보는 행동은 아마도 의도적으로 구현되었을 것입니다.

커밋 메시지의 첫 줄은 간단한 설명입니다.한 줄로 만들 수 없는 경우 여러 개를 사용할 수 있지만 git은 첫 번째 빈 줄 앞의 모든 것을 "짧은 설명"으로 간주합니다. oneline전체 짧은 설명이 인쇄되므로 3개 행이 모두 인쇄됩니다.

있습니까?git log --oneline당신이 원하는 것을 하십니까?

커밋 해시 없이 제목 줄을 인쇄해야 하는 경우:

git log --pretty=format:%s

그리고 마티외가 언급했듯이, 당신은 다음과 같은 것을 사용할 수 있습니다.%b 몸과 단지몸위그리고서해을▁and▁just그▁for▁body▁the고리서.%B둘 다

별칭을 만들어 더욱 쉽고 효율적인 Git 로그를 생성할 수 있습니다.아래 코드를 단말기에 하나의 세션에 한 번만 붙여넣습니다.zshrc 또는 bash 프로파일에 코드를 붙여넣어 영구적으로 만듭니다.

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

산출량

git lg

변경된 라인 출력

git lg -p

또는 (권장)
global ..

[alias]
  lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

추가 읽기.
https://coderwall.com/p/euwpig/a-better-git-log
고급 읽기.
http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/

짧은 로그를 보다 편리한 방법으로 호출할 수 있도록 글로벌 별칭을 정의할 수 있습니다.

git config --global alias.slog "log --pretty=oneline --abbrev-commit"

그러면 다음을 사용하여 호출할 수 있습니다.git slog(사용하도록 설정한 경우 자동 완성에서도 작동합니다.)

커밋 메시지 없이 해시만:

git log --pretty=oneline | awk '{print $1}'

인쇄하려는 경우commit-id그리고.commit message오직.

git log --pretty=format:"%h %s"

%h 의 줄임말입니다.hash_id의 약칭은subjectName[message_name]



다음 날짜를 표시할 수 있습니다.commit-id그리고.message다음 명령을 사용합니다.

git log --pretty=format:"%h %s %C(yellow)(%cr)"

%C색을 나타내는 약어입니다. 예를 들어 날짜를 다른 색으로 표시하고 싶습니다.(red,green,blue, yellow,...etc).

%cr커미셔너 날짜의 단축형입니다. 상대적입니다.


또는 이 명령을 사용하여 인쇄할 수 있습니다.hash_id그리고first word커밋 메시지:

git log --oneline | awk '{print $1 " " $2}'

또는

git log --oneline

메시지(제목)의 첫 줄만 원하는 경우:

git log --pretty=format:"%s"

이 분기의 모든 메시지를 마스터로 되돌리려면 다음과 같이 하십시오.

git log --pretty=format:"%s" master..HEAD

마지막으로, 빠른 마크다운 릴리스 노트를 위해 작은 글머리 기호를 추가하려면 다음과 같이 하십시오.

git log --pretty=format:"- %s" master..HEAD
git log --format="%H" -n 1 

위 명령을 사용하여 commitid를 가져오십시오. 도움이 되기를 바랍니다.

항상 사용하려면git log그런 방식으로 당신은 다음과 같이 깃 별칭을 추가할 수 있습니다.

git config --global alias.log log --oneline

그 후git log일반적으로 인쇄되는 것을 인쇄합니다.git log --oneline

언급URL : https://stackoverflow.com/questions/4479225/how-to-output-git-log-with-the-first-line-only

반응형