커밋 메시지가없는 Git 커밋 지정하지 않고 변경 사항을 커밋하려면 어떻게해야합니까?

커밋 메시지를 지정하지 않고 변경 사항을 커밋하려면 어떻게해야합니까? 기본적으로 필요한 이유는 무엇입니까?



답변

의미있는 커밋 메시지를 제공하는 것은 좋은 개발 관행과 좋은 저장소 관리의 일부이기 때문에 git은 일반적으로 비어 있지 않은 메시지를 요구합니다. 커밋 메시지의 첫 번째 줄은 git 내의 모든 곳에서 사용됩니다. 자세한 내용은 “Git 커밋 메시지에 대한 참고 사항”을 참조하십시오 .

Terminal.app, cd프로젝트 디렉토리 및 을 열면 git commit -am ''빈 커밋 메시지가 허용되지 않기 때문에 실패한 것을 볼 수 있습니다. 최신 버전의 git에는
--allow-empty-message최신 버전의 Xcode에 포함 된 git 버전을 포함 하여 명령 줄 인수가 있습니다. 이렇게하면이 명령을 사용하여 빈 메시지를 커밋 할 수 있습니다.

git commit -a --allow-empty-message -m ''

--allow-empty-message깃발 이전 에는 commit-tree배관 명령 을 사용해야했습니다 . 당신은이 명령을 사용하는 예를 볼 수 있습니다 은 “원시 힘내”장망할 놈의 책 .


답변

그리고 별칭을 추가하면 더 좋습니다.

git config --global alias.nccommit 'commit -a --allow-empty-message -m ""'

이제 주석이 없기 때문에 nccommit, nc를 수행하면 모든 것이 커밋되어야합니다.


답변

중요한 코드 업데이트 작업을 할 때 중간 Safepoint가 정말로 필요한 경우 다음을 수행 할 수 있습니다.

git commit -am'.'

이하 :

git commit -am.


답변

참고 : 시작 git1.8.3.2 (2013 7월), (다음 명령을 위에서 언급 한 에 의해 제레미 W 셔먼은 ) 더 이상 편집기를 열 수 없습니다 :

git commit --allow-empty-message -m ''

커밋 25206778aac776fc6cc4887653fdae476c7a9b5a 참조 :

-mgit commit 옵션 으로 빈 메시지를 지정 하면 편집기가 시작됩니다.
그것은 예상치 못한 일이고 불필요합니다.
사용자가 지정했는지 확인하기 위해 메시지 문자열의 길이를 사용하는 대신 옵션 -m이 제공 되었는지 직접 기억하십시오 .


git 2.9 (2016 년 6 월)는 빈 메시지 동작을 개선합니다.

Adam Dinwoodie ( )의 commit 178e814 (2016 년 4 월 6 일)를 참조하십시오 . Jeff King ( )의 commit 27014cb (2016 년 4 월 7 일)를
참조하십시오 . (의해 병합 – Junio C 하마노 에서 0,709,261 커밋 2,016 22 사월)me-and
peff
gitster

commit: 빈 메시지를 무시하지 마십시오. -m ''

  • git commit --amend -m '' --allow-empty-message“은 이상해 보이지만 메시지가 전혀 없도록 커밋을 수정하라는 유효한 요청입니다. 명령 줄에
    의 존재가 잘못 감지 -m되어 원래 커밋의 로그 메시지를 유지하게되었습니다.
  • git commit -m "$msg" -F file$msg은 (는) 빈 문자열 이든 아니든 거부되어야 하지만 동일한 버그로 인해이 $msg비어 있을 때 거부되지 않았습니다 .
  • git -c template=file -m "$msg"“은 ( $msg는) 비어있는 경우에도 템플릿을 무시해야 하지만 대신 템플릿 파일의 콘텐츠를 사용했습니다.

답변

이를 수행하기 위해 git이 필요하지 않습니다. bash 함수를 창의적으로 사용하면 문제가 해결됩니다. 메시지에 신경 쓰지 않는다면 기본 메시지를 설정하고 잊어 버리십시오.

function gitcom() {
  git commit -m "my default commit message"
}

정말 모험심이 있다면 하나의 명령으로 추가, 커밋 및 푸시 할 수 있습니다.

function gitzap() {
  git add . && git commit -m "whatevs" && git push $1 $2
}

그러면 다음으로 실행됩니다.

gitzap origin master

더 깊이 들어가서 parse_git_branch를 사용하여 몇 가지 키 입력을 저장하거나 “origin”및 “master”의 공통 기본값을 설정할 수도 있습니다.


답변

Git은 커밋에 주석이 필요합니다. 그렇지 않으면 커밋을 수락하지 않습니다.

git을 기본 커밋 메시지로 사용하여 기본 템플릿을 구성하거나 git에서 –allow-empty-message 플래그를 조회 할 수 있습니다. 나는 (100 % 확실하지 않다) 빈 커밋 메시지를 받아들이도록 git을 재구성 할 수 있다고 생각한다 (좋은 생각은 아니다). 일반적으로 각 커밋은 메시지에 설명 된 약간의 작업이어야합니다.


답변

가장 간단한 해결책을 찾았습니다.

git commit -am'save'

그게 다야 git commit 메시지 관련 작업을 수행합니다.

당신은 그것을 더 간단하게 만들기 위해 bash 또는 다른 것들에 칭찬을 저장할 수도 있습니다.

우리 팀원들은 항상 그 메시지를 작성하지만 거의 아무도 그 메시지를 다시 볼 수 없습니다.

커밋 메시지는 적어도 우리 팀에서 시간을 낭비하는 것이므로 무시합니다.