codememo

명령줄에서 'git commit - m'에 줄 바꿈 추가

tipmemo 2023. 4. 23. 10:27
반응형

명령줄에서 'git commit - m'에 줄 바꿈 추가

, 줄(「Git」를 사용하고 있습니다).git commit -m ""Vim 속 접 v 、 Vim v v v v v v v v v v

이게 가능합니까?

물론, 어떻게 하는지는 당신의 껍질에 달려있습니다.Bash에서는 메시지 주위에 작은 따옴표를 사용할 수 있으며 따옴표를 열어두면 따옴표를 닫을 때까지 다른 행을 입력하라는 메시지가 표시됩니다.다음과 같이 합니다.

git commit -m 'Message

goes
here'

또는 "여기에 있는 문서"(세습이라고도 함)를 사용할 수 있습니다.

git commit -F- <<EOF
Message

goes
here
EOF

예를 들어 헤드라인과 콘텐츠라인만 필요한 경우 다음을 사용할 수 있습니다.

git commit -m "My head line" -m "My content line."

이렇게 하면 행이 아닌 별도의 단락이 생성됩니다. 이 두 줄 에 빈 .-m선 、 : :

My head line

My content line.

명령줄에서 Bash를 사용하여 Git을 사용하여 다음을 수행할 수 있습니다.

git commit -m "this is
> a line
> with new lines
> maybe"

새 행을 원할 때 간단히 입력하고 누르면 ">" 기호가 눌렀음을 의미하며 새 행이 있습니다.다른 답변도 작동합니다.

Git 커밋에 줄 바꿈 추가

여러 줄의 커밋메시지를 작성하려면 다음 절차를 수행합니다.

git commit -m "Demonstrate multi-line commit message in Powershell" -m "Add a title to your commit after -m enclosed in quotes,
then add the body of your comment after a second -m.
Press ENTER before closing the quotes to add a line break.
Repeat as needed.
Then close the quotes and hit ENTER twice to apply the commit."

그런 다음 실행한 작업을 확인합니다.

git log -1

다음과 같은 결과가 초래됩니다.

PowerShell의 여러 줄 Git 커밋 메시지

이 스크린샷은 PowerShell과 Poshgit을 사용하여 설정한 예에서 가져온 것입니다.

이 기능은 모든 터미널 및 운영 체제 AFIK에서 작동합니다.

다음은 bash를 사용한 예입니다.

git의 여러 줄 커밋 메시지

이 커밋의 결과:

여러 줄의 커밋

사용할 수 있어야 합니다.

git commit -m $'first line\nsecond line'

Bash 매뉴얼:

$'string' 형식의 단어는 특별 취급됩니다.ANSI C 표준에서 지정한 대로 백슬래시 이스케이프 문자를 사용하여 단어가 문자열로 확장됩니다.

여기에는 위와 같은 줄 바꿈과 16진수 및 유니코드 코드 등이 포함됩니다.백슬래시 이스케이프된 문자 목록을 보려면 링크된 섹션으로 이동하십시오.

그 일을 복잡하게 할 필요는 없다. -m "text...를 누르면 다음 행이 나타납니다.를 누릅니다.> 그냥 ."를 누릅니다.

$ git commit -m "Another way of demonstrating multicommit messages:
>
> This is a new line written
> This is another new line written
> This one is really awesome too and we can continue doing so till ..."

$ git log -1
commit 5474e383f2eda610be6211d8697ed1503400ee42 (HEAD -> test2)
Author: ************** <*********@gmail.com>
Date:   Mon Oct 9 13:30:26 2017 +0200

Another way of demonstrating multicommit messages:

This is a new line written
This is another new line written
This one is really awesome too and we can continue doing so till ...

[편집 05-05-2021]

Windows 사용자의 경우 Windows용 GitBash를 사용합니다.빌트인 윈도cmd는 이 메서드에서는 동작하지 않습니다.

게시된 질문에서 너무 멀리 가지 말고 기본 편집기를 설정한 다음

git commit -e

훨씬 더 편할 수도 있어요

Git 문서부터:

- m <msg>
--message=<msg>
지정된 <msg>를 커밋메시지로 사용합니다.여러 개일 경우-m옵션이 주어지고, 그 값은 별도의 단락으로 연결됩니다.

따라서 여러 개의 커밋메시지를 그룹화할 경우 다음 작업을 수행합니다.

git commit -m "commit message1" -m "commit message2"

뭐랄까...

git commit -m"test\ntest"

동작은 하지 않지만

git commit -m"$(echo -e "test\ntest")"

효과는 있지만, 그다지 예쁘지는 않아요.셋업하다git-commitlb명령어를 입력하다PATH다음과 같은 기능을 합니다.

#!/bin/bash

message=$1

git commit -m"$(echo -e "$message")"

그리고 이렇게 사용하세요.

git commitlb "line1\nline2\nline3"

경고합니다만, 일반적인 규칙에서는 첫 번째 줄에 요약 행이 있고, 그 다음 두 줄이 끊기고, 커밋 메시지에서 확장 메시지가 표시되므로 이와 같은 작업을 수행하면 규칙이 깨집니다.물론 다음과 같은 작업을 수행할 수 있습니다.

git commitlb "line1\n\nline2\nline3"

Bash/Zsh에서는 따옴표 안에 리터럴 줄 바꿈을 사용할 수 있습니다.

git commit -m 'Multi-line
commit
message'

ANSI-C 견적은 Bash/Zsh에서도 유효합니다.

git commit -m $'Multi-line\ncommit\nmessage'

커밋 메시지를 편집하기 위해 선택한 편집기를 사용하도록 Git에 지시할 수도 있습니다.git-commit 문서:

커밋 로그 메시지 편집에 사용되는 에디터는GIT_EDITOR환경변수,core.editor설정 변수,VISUAL환경변수 또는EDITOR환경변수(순서대로)를 지정합니다.자세한 내용은 git-var를 참조하십시오.

메시지를 편집하려면nano예를 들어 다음과 같이 실행할 수 있습니다.

export GIT_EDITOR=nano
git commit

Mac에서 zsh를 사용하고 있으며 이중 따옴표("") 안에 여러 줄의 커밋 메시지를 게시할 수 있습니다.기본적으로는 새로운 행에 대해서는 계속 입력하고 되돌리기를 누르지만, 견적을 닫고 돌아올 때까지 메시지는 Git으로 전송되지 않습니다.

Bash를 사용하는 경우C-x C-e (+)CtrlxCtrle를 클릭하면 현재 명령어가 원하는 편집기에서 열립니다.

원하는 편집기를 변경하려면VISUAL그리고.EDITOR.

그게 내가 가진 거야.bashrc:

export ALTERNATE_EDITOR=''
export EDITOR='emacsclient -t'
export VISUAL='emacsclient -c'
export SUDO_EDITOR='emacsclient -t'

다음은 표준 cmd.exe 쉘을 사용하는 Windows에서 실패한 솔루션 목록입니다(시행착오 시간을 단축합니다).

  • git commit -m 'Hello Enter 동작하지 않는다: 새로운 회선을 요구하지 않는다.

  • git commit -m "Hello Enter idem

  • git commit -m "Hello^ Enter idem

  • git commit -m 'Hello^ Enter World'"More?"라고 묻고 새로운 행을 쓸 수 있기 때문에 작업하는 것처럼 보이지만, 마지막으로 작업을 할 때git log아직 한 줄짜리 메시지라는 걸 알 수 있을 거예요

TL;DR: Windows의 경우에도 명령줄 해석은 다르게 동작합니다.^여러 줄 입력이 가능하지만 여기서는 도움이 되지 않습니다.

마지막으로 가장 좋은 선택일 것이다.

이 가장 vi라인이 (git's git's 또 ( ( ( (')를 git commit --amend직직 git commit.

슬프게도, git는 메시지에서 새로운 행의 문자를 허용하지 않는 것 같습니다.이미 여러 가지 합리적인 해결책이 있지만 스크립팅할 때는 번거롭습니다.여기에서는 문서도 동작하지만, 조금 귀찮을 수 있습니다(yaml 파일을 생각해 주세요).

제가 한 일은 다음과 같습니다.

git commit \
    --message "Subject" \
    --message "First line$(echo)Second line$(echo)Third Line"

이 또한 여전히 추악하지만, 여전히 유용할 수 있는 '한 줄'을 허용한다.일반적으로 문자열은 변수이거나 변수와 결합되므로, ugunes는 최소한으로 유지될 수 있습니다.

메시지를 제공하지 않으면 (최소한 Linux에서는) 여러 줄을 쓸 수 있는 나노가 열린다고 말하는 사람은 없습니다.

이것만 있으면 됩니다.

git commit

저는 이 질문에 대한 답을 찾고 있었습니다.왜냐하면 커밋 메시지를 확인하기 위해 자주 정규식을 보곤 했기 때문입니다.어쨌든, 커밋 작성에서는, 어떠한 아이디어도 동작하지 않았습니다.-m

따라서 멀티라인 커밋메시지를 얻는 가장 쉬운 방법은git commit터미널에 접속합니다.
그런 다음 원하는 노트를 입력할 수 있습니다.

더 이상의 복잡한 방법은 필요하지 않다.

IMO의 첫 번째 커밋메시지 행은 단락이 아닌 요점까지 짧아야 합니다. 이렇게 쓰면서git commit -m "<short_message>"

그 후 첫 번째 커밋메시지를 확장하기 위해 사용할 수 있습니다.

git commit --amend

그러면 vim이 열리고 커밋 메시지에 대한 설명을 입력할 수 있습니다.이 설명은 명령줄보다 쉽습니다.

언급URL : https://stackoverflow.com/questions/5064563/add-line-break-to-git-commit-m-from-the-command-line

반응형