하나의 명령에서 git add, git commit 및 git push

John Wachira 2024년2월15일
하나의 명령에서 git add, git commit 및 git push

이 문서에서는 하나의 명령으로 원격 저장소에 파일을 추가, 커밋 및 푸시하기 위해 사용할 수 있는 두 가지 방법에 대해 설명합니다. 단일 파일에서 작은 변경을 수행하는 경우 변경 사항을 원격 저장소에 게시하는 3단계 프로세스를 따라야 합니다.

다행스럽게도 변경 사항을 원격 저장소에 추가, 커밋 및 푸시하는 명령을 만들 수 있습니다.

하나의 명령에서 git add, git commit 및 git push

두 가지 방법이 있습니다.

  1. bash 함수를 생성합니다.
  2. 별칭을 만듭니다.

Bash 함수 만들기

로컬 변경 사항을 원격 저장소에 추가, 커밋 및 푸시하는 Bash 함수를 만들 수 있습니다. 이 함수는 .bashrc 파일에 저장해야 합니다.

.bashrc 파일은 단순히 터미널 세션의 구성을 정의하는 쉘 스크립트입니다.

이 파일은 일반적으로 홈 디렉토리에 있습니다. 홈 디렉토리는 Git Bash를 시작할 때 서 있는 디렉토리입니다.

.bashrc 파일이 없는 경우 Bash를 실행하고 아래 명령을 사용하여 생성하십시오.

$ touch ~/.bashrc

.gitconfig 파일과 마찬가지로 .bashrc는 숨겨진 파일입니다. .bashrc 파일에 함수를 추가하려면 아래 명령을 실행하십시오.

$ notepad ~/.bashrc

이 명령은 메모장에서 파일을 열며 아래와 같은 기능을 추가할 수 있습니다.

function acp() {
    git add .
    git commit -m "$1"
    git push origin HEAD
}

git commit"$1"을 사용하면 acp 명령을 실행할 때 사용자 지정 커밋 메시지를 제공할 수 있습니다.

함수에 이름을 지정할 수 있습니다. 파일을 저장하고 아래 명령을 실행하여 기능을 활성화합니다.

$ source ~/.bashrc

최신 Git 버전은 --login으로 시작합니다. 이 경우 Git은 bash_profile 파일만 읽습니다.

이러한 이유로 Git은 .bashrc 파일을 인식하지 못합니다. 이를 해결하려면 아래 명령을 실행하십시오.

$ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Git은 이제 .bashrc 파일을 읽습니다. 아래와 같이 acp를 사용하여 하나의 명령으로 원격에 변경 사항을 추가, 커밋 및 푸시할 수 있습니다.

$ acp "Update README.md"

변경 사항을 원격에 추가, 커밋 및 푸시합니다.

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

참고: 기능에 할당한 이름을 사용하십시오. 예를 들어 함수 이름을 Lazygit로 지정한 경우 다음을 실행합니다.

$ Lazygit "Update README.md"

별칭 만들기

아래 그림과 같이 원격 저장소에 변경 사항을 추가, 커밋 및 푸시하는 별칭을 만들 수 있습니다.

$ git config --global alias.lazygit '!f() { git add -A && git commit -m "$@" && git push origin HEAD; }; f'

별칭에 아무 이름이나 지정할 수 있습니다. git commit"$@"를 사용하면 명령줄에서 별칭을 사용할 때 사용자 지정 커밋 메시지를 제공할 수 있습니다.

별칭을 lazygit로 지정했으므로 다음을 실행합니다.

$ git lazygit "Update LICENSE.md"

![별칭을 사용하여 하나의 명령에 커밋 및 푸시 추가](</img/Git/alias.jpg>를 사용하여 하나의 명령에 커밋 및 푸시 추가

.bashrc 파일에 Bash 함수를 생성하거나 별칭을 생성하여 하나의 명령으로 추가, 커밋 및 푸시할 수 있습니다. 사용자 지정 커밋 메시지를 추가하는 옵션으로 둘 다 생성하는 방법을 살펴보았습니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Add

관련 문장 - Git Push

관련 문장 - Git Commit