단일 명령을 사용하여 새로 추가 된 파일을 포함하여 모든 파일을 준비하고 커밋하려면 어떻게해야합니까?
단일 명령을 사용하여 새로 추가 된 파일을 포함하여 모든 파일을 준비하고 커밋하려면 어떻게해야합니까?
답변:
않습니다
git add -A && git commit -m "Your Message"
"단일 명령"으로 계산?
아래 @thefinnomenon의 답변을 기반으로 편집하십시오 .
로 사용하려면 다음을 git alias
사용하십시오.
git config --global alias.coa '!git add -A && git commit -m'
새 파일을 포함한 모든 파일을 다음과 같은 메시지와 함께 커밋합니다.
git coa "A bunch of horrible changes"
설명 ( git add
문서에서 ) :
-A, --all, --no-ignore-removal
작업 트리가 파일과 일치하는 위치뿐만 아니라 이미 항목이있는 인덱스를 업데이트하십시오. 작업 트리와 일치하도록 인덱스 항목을 추가, 수정 및 제거합니다.
<pathspec>
-A 옵션을 사용할 때 아무 것도 지정 하지 않으면 전체 작업 트리의 모든 파일이 업데이트됩니다 (이전 버전의 Git은 현재 디렉토리 및 하위 디렉토리로 업데이트를 제한하는 데 사용됨).
git add -A ; git commit -m "Your Message"
이 명령은 수정 된 모든 파일을 추가하고 커밋 하지만 새로 작성된 파일 은 커밋 하지 않습니다 .
git commit -am "<commit message>"
남자 git-commit에서 :
-a, --all
Tell the command to automatically stage files that have been modified
and deleted, but new files you have not told Git about are not
affected.
이 기능을 사용합니다 :
gcaa() { git add --all && git commit -m "$*" }
내 zsh 구성 파일에서 다음을 수행 할 수 있습니다.
> gcaa This is the commit message
모든 파일을 자동으로 스테이징 및 커밋합니다.
function gcaa() { git add --all && git commit -m "$*" && git push }
gaa && gc -m "my commit"
했지만 훨씬 더 좋습니다 ... <bashrc를 변경하기 위해
모든 파일 ( modified , deleted 및 new ) 을 스테이징 하고 주석으로 커밋하는 하나의 라이너
git add --all && git commit -m "comment"
http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit
왜 이러한 답변이 내가 올바른 해결책이라고 생각하는 것에 따라 춤을 추는 지 모르겠지만 여기에서 가치가있는 것은 내가 사용하는 것입니다.
git config --global alias.coa '!git add -A && git commit -m'
git coa "A bunch of horrible changes"
참고 : coa
커밋은 짧으며 마음이 원하는 것으로 바꿀 수 있습니다.
git alias
길 을 찾고 있었고 나머지는 지루합니다.
현재 브랜치에서 변경 사항을 숨기는 "빠르고 더러운"방법을 원하면 다음 별명을 사용할 수 있습니다.
git config --global alias.temp '!git add -A && git commit -m "Temp"'
해당 명령을 실행 한 후에 git temp
는 git이 "Temp"라는 커밋으로 현재 분기에 대한 모든 변경 사항을 자동으로 커밋하도록 입력 하면됩니다. 그런 다음 git reset HEAD~
나중에 변경 사항을 "커밋 해제"하여 계속 작업하거나 git commit --amend
커밋에 변경 사항을 추가하거나 올바른 이름을 지정할 수 있습니다 .
내 구성에는 두 개의 별칭이 있습니다.
alias.foo=commit -a -m 'none'
alias.coa=commit -a -m
너무 게으 르면 모든 변경 사항을 커밋합니다.
git foo
빠른 커밋을하기 위해
git coa "my changes are..."
coa는 "commit all"을 의미합니다
주어진 명령을 실행
git add . && git commit -m "Changes Committed"
그러나 단일 명령처럼 보이지만 두 개의 개별 명령이 하나씩 실행됩니다. 여기서 우리 &&
는 그것들을 결합하는 데 사용 했습니다. 달리고 달리는 git add .
것과 크게 다르지 않습니다
git commit -m "Changes Committed"
. 여러 명령을 함께 실행할 수 있지만 여기서 순서는 중요합니다. 스테이징 및 커밋과 함께 변경 사항을 원격 서버에 적용하려면 주어진대로 수행 할 수 있습니다.
git add . && git commit -m "Changes Committed" && git push origin master
대신 시퀀스를 변경하고 push
를 먼저 넣으면 먼저 실행되며 스테이징 및 커밋 후에 이미 푸시를 실행했기 때문에 원하는 푸시를 제공하지 않습니다.
&&
첫 번째 명령이 성공적으로 돌아 오거나 오류 수준이 0 이면 두 번째 명령을 줄에서 실행 합니다. 반대의 &&
is ||
는 첫 번째 명령이 실패하거나 오류 수준이 1 인 경우 두 번째 명령을 실행합니다.
또는 alise 를 만들어서 다음 git config --global alias.addcommit '!git add -a && git commit -m'
과 같이 사용할 수 있습니다.git addcommit -m "Added and commited new files"
훌륭한 답변이지만, 단일 라인을 찾으면 연결하고 별칭을 지정하고 편의를 즐길 수 있습니다.
git add * && git commit -am "<commit message>"
한 줄이지 만 두 개의 명령이며, 언급 한 것처럼이 명령의 별칭을 지정할 수 있습니다.
alias git-aac="git add * && git commit -am "
(짧은 공간이 중요합니다.) 새로운 숏 핸드 명령을 매개 변수화하기 때문입니다.
지금부터이 별명을 사용하게됩니다.
git-acc "<commit message>"
당신은 기본적으로 말합니다 :
git, 추적되지 않은 모든 파일을 추가 하고이 커밋 메시지로 커밋하십시오.
당신이 리눅스를 사용하기를 바란다. 이것이 도움이되기를 바란다.
git-commitall
몇 가지 git 명령을 사용하여 수행하려는 작업을 수행 하는 작은 스크립트 (Ian Clelland의 답변 참조)를 작성할 수 있습니다 .
이 스크립트를 어디에서나 사용할 수 있습니다 $PATH
. 당신은 그것을 호출 할 수 있습니다 git commitall
... 매우 편리합니다!
여기 에서 발견됨 (질문과 모든 답변은 불행히도 삭제되었으며 높은 평판으로 볼 수 있음)