programing

Git 추가 및 커밋을 하나의 명령어로 실행

newstyles 2023. 4. 19. 22:33

Git 추가 및 커밋을 하나의 명령어로 실행

제가 할 수 있는 방법이 없을까요?

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

명령어 하나로요?

두 것 Git에 had에 like에 에에 면에 면면 면면 면면 면면 면면 면면 면면 면면 면면 면 면면 면면 면 면 면 면 면 면 면 면 면 면 면 면 면 i i i i i i i ii i i i igit commit -Am "commit message"그것은 삶을 훨씬 더 편리하게 만들 것이다.

git commit 가지고 있다-a는 수식어와는 .git add -A커밋하기 전에. git add -A 생성된 하는데, "파일"은 "파일"을 "파일"로 되어 있습니다.git commit -am what ★★★★★★★★★★★★★★★★★?

git 에일리어스를 사용할 수 있습니다.

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에게 지시하는 것은 간단한 방법이지만, 일반적으로 이러한 catch-all 워크플로우는 권장하지 않습니다.Git 커밋은 일반적으로 상당히 원자적이고 일부 파일에만 영향을 줍니다.

git add .
git commit -m "message"

새로운 파일 또는 변경된 파일을 모두 쉽게 추가할 수 있습니다.이치노는 삭제한 .git rm명령어를 입력합니다.

git add app
git commit -m "message"

파일을 수 있는 방법입니다.이 "dir"는 "dir"입니다.★★★★★★★★★★★★★★★★★★·appdir.closs.dir.dir.clos

가장 간단하게 할 수 있는 것은 다음과 같습니다.

git commit -am "Your commit message"

나는 우리가 왜 이것을 까다롭게 만드는지 이해할 수 없다.

한 줄로 유지하려면 다음을 사용합니다.

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

이 행은 변경 및 추가된 모든 파일을 저장소에 추가하고 커밋합니다.

Ales의 답변courtimas의 코멘트Linux bash용으로 수정하는 것:

한 줄로 유지하려면 다음을 사용합니다.
git commit -am "comment"

이 행은 변경된 내용을 모두 저장소에 추가하고 커밋합니다.

git이 아직 픽업하지 않은 새로운 파일이 없는지 확인하세요.그렇지 않으면 다음을 사용해야 합니다.
git add . ; git commit -am "message"

Windows 의경 :
git add . && git commit -am "comment"

명령어를 조합하기만 하면 됩니다.

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

git의 최신 버전에서는 다음과 같이 추가 및 커밋할 수 있습니다.

git commit -a -m "commit message"

또한 에일리어스:

[alias]
    ac = commit -a -m

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

git ac "commit message"

이것이 누군가에게 도움이 되기를 바라며, 자유롭게 편집하거나 개선해 주세요.가장 빠른 방법이 무엇인지는 잘 모르겠지만 Git용 "ohmyzsh"를 사용함으로써 코드 커밋 프로세스가 확실히 간소화됩니다.

https://ohmyz.sh/

  • git add . 「」로 .ga .
  • git commit -m "message" 「」로 .gc -m "message"
  • git push 「」로 .gp
  • git fetch 「」로 .gf
  • git pull origin master 「」로 .ggl master
  • git push origin master 「」로 .ggp master
  • git checkout -b 「」로 .gcb
  • git merge 「」로 .gm
  • git remote 「」로 .gr
  • git status 「」로 .gst

여기에 이미지 설명 입력

에 이 셋업이 있습니다..bashrc에일리어스를 사용하여 전체 프로세스를 단순화합니다.

  • 지정.bashrc- SO 나사산 참조
  • 다음 행을 파일에 추가하다

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

    git add commit 및 push.tween 어떤 식으로든 push 명령어를 사용하여 해당 부분을 삭제하지 않도록 합니다.

  • ''.bashrc 다시 / 껍데기를 여세요.

  • 해서 전 을 다 할 수 되었습니다.gacp명령어를 사용합니다.

사용할 수 있는 것은 거의 확실합니다.

git commit -am "commit all the things"

는 이 ..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"
}

사용방법:

git commit -m "message" .     

마지막에 ""를 주목해 주세요...파일/디렉토리에의 패스가 될 수도 있습니다.

다음과 같이 입력합니다.

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

일단 입력만 하면 됩니다.

git a

매번:

git a 'your comment'

나는 조개껍질을 한다.

#!/bin/sh

clear

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

예를 들어 git.sh 이후의 콜을 저장합니다.

sh git.sh your commit message

사람들은 '아주 좋다'고 git commit -am효과가 있을 거야추적된 파일에 대한 변경 사항만 커밋할 수 있고 새 파일은 추가되지 않으므로 이 방법은 작동하지 않습니다.출처.

것, , 라는 생각이 들더라고요. 하지만 당신은 그 명령어에 대본을 쓸 수 있다.~/.bashrc,~/.bash_profile ★★★★★★★★★★★★★★★★★」~/.zshrcOS를 사용하다

사용하고 있는 것을 공유합니다.

function gac {
  if [[ $# -eq 0 ]]
    then git add . && git commit
  else
    git add . && git commit -m "$*"
  fi
}

커밋됩니다. 그냥 .입력만 하면 됩니다.gac됩니다.

를 직접 .gac Hello world모든 변경이 추가되고 커밋메시지가 Hello world가 됩니다.""(미사용)

「」를 합니다.-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.

다른 사용자가 단일 파일에 대해 "추가 및 커밋"을 원하는 경우(내 경우) 다음과 같은 작업을 수행하기 위해 아래 스크립트를 작성했습니다.

#!/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. bash 에 를 만듭니다.alias gac="git add -A && git commit -m"

    (바로가기를 'gac'이라고 부르기로 선택했지만 그럴 필요는 없습니다.)

  2. gac 'your commit message here'

이 git 에일리어스를 사용합니다.

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"

다음을 사용하고 있습니다(둘 다 진행 중이므로 잊지 말고 업데이트해 보겠습니다).

# 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 MSG V Jose Sojan V Jose에서 을 받은

싶습니다if elsey를할 수 만, 할 것 같습니다..zshrc

add all 및 commit에는 다음 별칭을 사용합니다.

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

그런 다음 다음과 같이 입력합니다.

git ac

커밋 메시지 편집 도구를 더 가져올 수 있는 vim 창이 나타납니다.

먼저 어떤 가명을 가지고 있는지...

git config --get-regexp alias

존재하지 않는 경우는, 독자적인 것을 작성할 수 있습니다(참조:https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases)).

// git add

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

// git 커밋

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

// git commit - m

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

// git add commit

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'

군중 속에 있는 은빛 뒷모습은 전복과연 전복 같은 것에 익숙한...단 한 단계로 단어(즉 git speak)의 옛 의미(즉, git speak)로 "commit"를 하기 위해 저는 일반적으로 프로젝트의 루트에 다음과 같은 것을 추가합니다(예를 들어 git-commit.bat).그리고 추가, 커밋, 푸시할 때 다음과 같이 입력합니다.git-commit "Added some new stuff"모두 리모트 리포에 보내집니다.

또, 이 방법을 사용하면, 로컬로 아무것도 변경할 필요가 없기 때문에, 프로젝트의 누구라도 같은 것을 사용할 수 있습니다.

에 달리기를 많이 해요.git config credential.helper storeuid / pwd 。

::
:: add, commit, and push to git
::

@echo off
echo.
echo.
echo 
echo Doing commit...
git add -A && git commit -m %1
echo.
echo.
echo Doing push...
git push
echo.
echo.
echo Done.
echo.

제목에 있는 질문에 대한 답변입니다.설명에 있는 질문은 아니지만, 여기에 오게 된 몇몇 사람들은 이것이 유용하다고 생각할 수도 있을 것 같습니다.

다음 bash 스크립트는 하나의 명령어로 파일을 추가하고 커밋합니다.IT부문은 모든 파일을 추가하는 것이 아니라 명령줄에서 지정한 파일만 추가합니다.명령줄에 파일이 지정되지 않은 경우 모든 파일을 추가하도록 쉽게 수정할 수 있습니다.하지만 그건 좀 위험할 것 같아서 하지 않았어요.

#!/bin/bash

if [[ $# -lt 2 ]]
then
    echo "Usage:  $(basename $0) FILENAME+ \"COMMIT_MESSAGE\""
    echo 
    echo 'Shorthand for "git add FILENAME_0 FILENAME_1 .. FILENAME_n && git commit -m "COMMIT MESSAGE".'
    echo 'You must specify at least one filename, and supply one single commit message.'
    echo 
else    
    git add ${*: 1: $#-1} && git commit -m "${*: -1}"
fi

예를 들어 gac이라는 파일에 저장하고 이렇게 사용합니다.

gac file_a file_b file_c "adding three files because.. reasons"

이 스레드에서 @LuisEnMarroquin의 작품을 리핑합니다.

사용할 수 있습니다.

git commit -am "[comment]" # best solution 

또는

git add . && git commit -m "[comment]"

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