Programming

하나의 명령으로 Git 추가 및 커밋

procodes 2020. 3. 5. 08:02
반응형

하나의 명령으로 Git 추가 및 커밋


내가 할 수있는 방법이 있습니까

git add -A
git commit -m "commit message"

하나의 명령으로?

나는 그 두 가지 명령을 많이하는 것처럼 보이고 Git과 같은 옵션이 있다면 git commit -Am "commit message"인생을 훨씬 편리하게 만들 수 있습니다.

git commit-a수정을하지만, 꽤하고 같은하지 않습니다 git add -A커밋하기 전에. git add -A새로 작성된 파일을 추가하지만 git commit -am그렇지 않습니다. 무엇을합니까?


git aliases를 사용할 수 있습니다.

git config --global alias.add-commit '!git add -A && git commit'

와 함께 사용

git add-commit -m 'My commit message'

편집 : 틱 ( ')으로 되돌아갔습니다 . 그렇지 않으면 Linux에서 쉘 확장에 실패합니다. Windows 에서는 대신 큰 따옴표 ( ")사용해야 합니다 ( 주석에서 지적했지만 확인하지 않았습니다).


git commit -am "message"

git에게 삭제 한 파일을 삭제하도록하는 쉬운 방법이지만 일반적으로 이러한 포괄적 인 워크 플로우를 권장하지 않습니다. Git 커밋은 모범 사례에서 상당히 원자 적이어야하며 몇 개의 파일에만 영향을 미칩니다.

git add .
git commit -m "message"

새 파일이나 수정 된 모든 파일을 쉽게 추가 할 수 있습니다. 또한 포괄 자격이 적용됩니다. 위의 명령은 git rm명령 없이 삭제 된 파일을 삭제하지 않습니다 .

git add app
git commit -m "message"

하나의 디렉토리 (이 경우에는 app디렉토리) 에서 색인에 모든 파일을 추가하는 쉬운 방법 입니다.


한 줄로 유지하려면 다음을 사용하십시오.

git add . && git commit -am "comment"

이 줄은 변경 및 추가 된 모든 파일을 리포지토리에 추가하고 커밋합니다.


명령을 결합하십시오.

git add -A && git commit -m "comment" 

Linux bash에 대한 Ales의 답변과 courtsimas의 의견 만 수정하십시오 .

한 줄로 유지하려면 다음을 사용하십시오.

git commit -am "comment"

이 줄은 변경된 모든 것을 저장소에 추가하고 커밋 합니다.

git이 아직 선택 하지 않은 새 파일 이 없는지 확인하십시오 . 그렇지 않으면 다음을 사용해야합니다.

git add . ; git commit -am "message"


이후 버전의 git에서는 다음과 같이 추가하고 커밋 할 수 있습니다

git commit -a -m "commit message"

또한 별명 :

[alias]
    ac = commit -a -m

그런 다음 다음과 같이 사용할 수 있습니다.

git ac "commit message"

꽤 사용할 수 있습니다 :

git commit -am "commit all the things"

내 Windows 컴퓨터 .bashrc에서 전체 프로세스를보다 간단하게 하기 위해이 별칭을 설정했습니다 .

  • 생성 / 당신의 위치 .bashrc- 참조 SO 스레드
  • 파일에 다음 줄을 추가하십시오

    alias gacp='echo "enter commit message : " && read MSG && git add . && git commit -m "$MSG" && git push'
    

    git add commit 및 push을 수행합니다. 푸시 명령으로 해당 부분을 제거하지 않으려면 어떤 방식 으로든 조정하십시오.

  • .bashrc재 장전 / 닫기 및 다시 열기

  • 이제 gacp명령으로 전체 프로세스를 수행 할 수 있습니다 .

입력하면 :

git config --global alias.a '!git add -A && git commit -m'

한 번만 입력하면됩니다

git a

매번 :

git a 'your comment'

그냥 사용하십시오 :

git commit -m "message" .     

"."에 주목하십시오. 마지막에 ... 또한 파일 / 디렉토리의 경로가 될 수 있습니다


로그인 쉘에서 제공되는 .bash_profile또는 .profile/ .zprofile또는 무엇이든 이 기능을 가지고 있습니다 .

function gac () {
  # Usage: gac [files] [message]
  # gac (git add commit) stages files specified by the first argument
  # and commits the changes with a message specified by the second argument.
  # Using quotes one can add multiple files at once: gac "file1 file2" "Message".
  git add $1 && git commit -m "$2"
}

나는 껍질을한다

#!/bin/sh

clear

git add -A 
git commit -a -m "'$*'"

예를 들어 git.sh를 저장하고 나중에 호출하십시오.

sh git.sh your commit message

당신은 ca를 사용 -a

git commit -h

...
Commit contents options
    -a, -all    commit all changed files
...

git commit -a # It will add all files and also will open your default text editor.

나는 다음을 사용합니다 (둘 다 진행 중이므로 이것을 업데이트하는 것을 기억하려고 노력할 것입니다).

# Add All and Commit
  aac = !echo "Enter commit message:" && read MSG && echo "" && echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"$MSG\" && echo "" && echo "New status:" && echo "===========" && git status

# Add All and Commit with bumpted Version number
  aacv = !echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"Bumped to version $(head -n 1 VERSION)\" && echo "" && echo "New status:" && echo "===========" && git status

echo "Enter commit message:" && read MSGSojan V 호세에서 영감을 일부

나는 if else거기에 진술 을하고 싶습니다 .aacv가 완료되면 배포 할 것인지 묻고 'y'를 입력하면 나를 위해 할 수는 있지만 .zshrc파일에 넣어야한다고 생각 합니다.


모두 추가 및 커밋에 다음 별칭을 사용합니다 .

git config --global alias.ac '!git add -A && git commit -a'

그런 다음 다음을 입력하여

git ac

커밋 메시지에 대한 추가 편집 도구를 얻을 수있는 vim 창이 나타납니다.


이 자식 별칭을 사용합니다.

git config --global alias.cam '!git commit -a -m '

그래서 전화 대신

git add -A && git commit -m "this is a great commit"

나는 단지 :

git cam "this is a great commit"


당신이 사용할 수있는 자식이 "[코멘트]"-am 커밋 // 최적의 솔루션 또는 자식 추가. && git commit -m "[코멘트]"


어떤 별칭이 있는지 먼저 확인하십시오 ...

git config --get-regexp alias

그것이 없다면 당신이 직접 만들 수 있습니다 (참조 : https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases )

// 자식 추가

git config --global alias.a '!git add -A'

// 자식 커밋

git config --global alias.c '!git commit'

// 자식 커밋 -m

git config --global alias.cm '!git commit -m'

// 자식 추가 커밋

git config --global alias.ac '!git add -A && git commit'

// git add commit -m

git config --global alias.acm '!git add -A && git commit -m'

예를 들어, 마지막 것을 사용한다면 ...

git acm 'My commit'

누군가가 단일 파일에 대해 "추가 및 커밋"을 원할 경우 (내 경우) 다음과 같이 스크립트를 작성했습니다.

#!/bin/bash

function usage {
    echo "Usage: $(basename $0) <filename> <commit_message>"    
}

function die {
    declare MSG="$@"
    echo -e "$0: Error: $MSG">&2
    exit 1
}

(( "$#" == 2 )) || die "Wrong arguments.\n\n$(usage)"

FILE=$1
COMMIT_MESSAGE=$2

[ -f $FILE ] || die "File $FILE does not exist"

echo -n adding $FILE to git...
git add $FILE || die "git add $FILE has failed."
echo done

echo "commiting $file to git..."
git commit -m "$COMMIT_MESSAGE" || die "git commit has failed."

exit 0

이름을 "gitfile.sh"로 지정하여 $ PATH에 추가했습니다. 그런 다음 하나의 명령으로 단일 파일에 대해 git add 및 commit을 실행할 수 있습니다.

gitfile.sh /path/to/file "MY COMMIT MESSAGE"

  1. 입력 git add . && git commit -am하고 입력
  2. 입력 history하고 입력
  3. 위 명령의 번호를 기억하십시오. 543
  4. 이제부터는 모든 커밋 유형에 대해 !543 "your comment here"느낌표 + 숫자와 공백 및 주석이 있습니다.

결과 - 시도 : git add, git commit 및 git push에 대한 간단한 스크립트 하나의 명령

Windows에서 CMD를 열고이 답변을 붙여 넣습니다.

git commit -m "your message" . && git push origin master

이 예제 내 사진 스크린 샷 : https://i.stack.imgur.com/2IZDe.jpg


한 줄로 유지하려면 다음을 사용하십시오.

gacm "your comment"

참고 URL : https://stackoverflow.com/questions/4298960/git-add-and-commit-in-one-command

반응형