git add, commit 및 push 명령을 하나로 통합하시겠습니까?
이 세 가지 명령을 한 번에 사용할 수 있는 방법이 있습니까?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
가끔 나는 CSS 패딩 같은 한 글자만 바꾸고 있어요.그래도 변경 사항을 적용하려면 세 가지 명령을 모두 작성해야 합니다.제가 추진자 한 명인 프로젝트가 많은데, 이 명령어는 정말 멋질 것입니다!
@Gavin의 대답으로 구축:
lazygit를 별칭 대신 함수로 만들면 인수를 전달할 수 있습니다.다음을 .bashrc(또는 Mac인 경우 .bash_profile)에 추가했습니다.
function lazygit() {
git add .
git commit -a -m "$1"
git push
}
이를 통해 다음과 같은 커밋 메시지를 제공할 수 있습니다.
lazygit "My commit msg"
물론 어느 원격지로 이동할지, 어느 지점으로 이동할지와 같은 더 많은 주장을 수용함으로써 이를 더욱 강화할 수 있습니다.
제 나는결나추다니습가했명별에 ..gitconfig
파일 이름:
[alias]
cmp = "!f() { git add -A && git commit -m \"$@\" && git push; }; f"
용도:git cmp "Long commit message goes here"
모든 파일을 추가한 다음 커밋 메시지에 대한 주석을 사용하여 오리진으로 밀어 올립니다.
커밋 메시지를 제어할 수 있기 때문에 더 나은 해결책이라고 생각합니다.
. 하면 사용자의 됩니다. 그러면 별칭이 추가됩니다..gitconfig
:
git config --global alias.cmp '!f() { git add -A && git commit -m "$@" && git push; }; f'
저는 웨인 베르너의 의심에 동의하지만, 기술적으로는 이것이 선택사항입니다.
git config alias.acp '! git commit -a -m "commit" && git push'
합니다.commit
그리고.push
로사용으로 합니다.git acp
이러한 "쉘" 별칭은 항상 Git 저장소의 루트에서 실행됩니다.
다른 옵션은 푸시를 수행하는 사후 커밋 후크를 작성하는 것일 수 있습니다.
아, 그나저나, 당신은 실제로 셸 별칭에 인수를 전달할 수 있습니다.사용자 정의 커밋 메시지를 전달하려면 대신 다음을 사용합니다.
git config alias.acp '! acp() { git commit -a -m "$1" && git push ; } ; acp'
메시지를 할 입니다: ( message: (commit message)git acp "My message goes here!"
)
.bash_profile에서 사용합니다.
gitpush() {
git add .
git commit -m "$*"
git push
}
alias gp=gitpush
다음과 같이 실행됩니다.
gp A really long commit message
실행하세요.source ~/.bash_profile
이름을 저장한 후.
하실 수도 있다고 ( 하기 /그지하정요하바이제것은신당글에를의서한가미수it▁(▁g▁▁the▁i▁you▁don▁that▁need.)git add .
로, 터부commit -a
일반적으로 동일한 용도로 사용 - 파일이 이미 추가된 경우 아직 준비되지 않은 변경 사항을 추가합니다.
일반적으로 다음과 같은 작업을 수행합니다.
# make some changes
$ git commit -a -m "Changed something"
# make some more changes
$ git commit -a -m "Changed something else"
X 기능을 완료하거나 정지 지점에 도달하거나 다른 사람이 사용자가 한 작업을 보기를 원할 때까지 씻고, 헹구고, 반복합니다.그럼 당신은.
$ git push
Git은 SVN이 아닙니다. 하지만 당신은 그것을 그렇게 사용하려고 하는 것처럼 보입니다.이 문서의 끝에 있는 일부 리소스가 유용할 수 있습니다.
bash 스크립트를 사용하여 모든 명령 또는 명령 그룹을 시작하도록 별칭을 설정할 수 있습니다.
git commit -am "your message" && git push
가장 간단한 솔루션은 다음과 같습니다.
git commit -a -m "commit" && git push
git add
이미 -a commit 매개 변수에 포함되어 있지만, 원하는 경우 모두 연결할 수 있습니다.
git add . && git commit -a -m "commit" && git push
bash에서 별칭으로 설정:
$ alias lazygit="git add .; git commit -a -m '...'; git push;";
호출:
$ lazygit
(이 별칭을 영구적으로 만들려면 .bashrc 또는 .bash_profile에 포함해야 합니다.)
Linux/Mac에서는 이 정도의 실용적인 옵션도 작동해야 합니다.
git commit -am "IssueNumberIAmWorkingOn --hit Enter key
> A detail here --Enter
> Another detail here --Enter
> Third line here" && git push --last Enter and it will be there
로컬로 생성된 새 분기에서 작업 중인 경우git push
와 조화를 이루다.git push -u origin branch_name
시스템 편집기에서 커밋 메시지를 편집하려면
git commit -a && git push
편집기를 열고 메시지를 저장하면 메시지도 밀어넣습니다.
기투를 해보세요.
처음으로 (노드 js를 설치해야 함):
npm install -g git-upload
그 후:
gitu COMMIT_MSG
세 가지 명령을 동시에 실행합니다.
좋은 점은 시스템을 다시 설치할 때나 다른 컴퓨터에서 이 작업을 수행할 때 걱정할 필요가 없으며 파일을 수정할 필요가 없다는 것입니다.이것은 다른 플랫폼(Linux와 Mac뿐만 아니라 Windows에서도 작동합니다.cmd
그리고.powershell
) npm
그리고.nodejs
(git
물론).
에는 을 가 없습니다.git add
당신은 간단하게 쓸 수 있습니다.git commit -am 'your message'
만약 당신이 커밋 메시지를 쓰고 싶지 않다면, 당신은 다음과 같은 것을 하는 것을 고려할 수 있습니다.
git commit --allow-empty-message -am ''
Mac을 사용하는 경우:
시작)을 합니다.
cd ~/
형
touch .bash_profile
새 파일을 만듭니다.집
.bash_profile
편집자와 즐찾기또편와기(집겨그입수할있력음께함냥는또와수(▁type있))를 입력할 수 .open -e .bash_profile
텍스트 편집)에서 열 수 있습니다.다음을 복사하여 파일에 붙여넣습니다.
function lazygit() { git add . git commit -a -m "$1" git push }
그런 다음 터미널을 다시 시작하고 하나의 쉬운 명령을 추가, 커밋 및 푸시하기만 하면 됩니다. 예:
lazygit "This is my commit message"
이 결과 - 사용해 보십시오: git add, git commit 및 git push에 대한 간단한 스크립트 하나의 명령어
윈도우즈에서 CMD를 열고 이 대답을 붙여넣습니다.
git commit -m "your message" . && git push origin master
이 예제 내 사진 스크린샷: https://i.stack.imgur.com/2IZDe.jpg
다음을 실행합니다.
git commit -am "message";git push
배치 파일 사용:
@ECHO OFF
SET /p comment=Comment:
git add *
git commit -a -m "%comment%"
git push
이 답변에서 언급한 것처럼 Git 별칭을 만들고 이에 대한 명령 집합을 할당할 수 있습니다.이 경우 다음과 같습니다.
git config --global alias.add-com-push '!git add . && git commit -a -m "commit" && git push'
그리고 그것과 함께 사용합니다.
git add-com-push
아래 줄로 gitpush.sh 이라는 작은 스크립트를 작성하고 ~ 디렉토리를 추가합니다.
echo $1
git add .
git commit -m "$1"
git push
이제 아래와 같이 ~/.bashrc에 별칭을 추가합니다.
alias gitpush='~/gitpush'
이제 git 저장소에서 gitpush "message"를 쓰기만 하면 됩니다.
macOS 사용자의 경우:
터미널이나 iTerm2 또는 사용하는 다른 터미널을 엽니다.
명령을 사용하여 사용자 프로필 폴더로 이동
~/
의 기본 폴더입니다..bash_profile
파일:
유형
nano .bash_profile
이 명령은 다음을 엽니다..bash_profile
터미널에서 가장 사용하기 쉬운 텍스트 편집기로 문서화(또는 아직 존재하지 않는 경우 작성) –nano
.이제 파일을 간단히 변경할 수 있습니다.터미널 프롬프트를 변경하려면 다음 코드 행을 붙여넣으십시오.
function lazygit() {
git add .
git commit -a -m "$1"
git push
}
이제 입력하여 변경 내용 저장
ctrl + o
리턴을 눌러 저장합니다.그럼 종료nano
타이프로ctrl + x
.이제 변경 사항을 활성화해야 합니다.유형
source .bash_profile
(또는). ~/.bash_profile
)을 클릭하고 변경 사항을 확인합니다.iTerm2에서
Preferences/Profiles/General/Command
로 설정한.Login Shell
그리고.Send text at start
로.source ~/.bash_profile
따라서 각 macOS를 다시 시작한 후 수동으로 만들 필요가 없습니다.
자격 증명: https://natelandau.com/my-mac-osx-bash_profile
MAC VSC 사용자에게 가장 적합한 설정은 다음과 같습니다.
'shift+sshift+'를 누릅니다.P' 및 유형:
Shell Command: install 'code' command in PATH
ENTER를 누릅니다(이렇게 하면 bash_profile에 쉽게 액세스할 수 있는 코드 명령이 설치됩니다).
이제 실행할 수 있습니다.code ~/.bash_profile
빈 bash_profile을 엽니다.
새 기능을 입력합니다.
function lazygit() {
git add .
git commit -m "$*"
git push
}
이제 VSC 다시 시작
변경하고 저장한 후 입력합니다.lazygit message
세 가지 명령을 동시에 실행하는
위 스크립트에는 몇 가지 문제가 있습니다.
shift 키를 누르면 매개 변수 $1이 "인식"됩니다. 그렇지 않으면 "인식" 키가 이를 읽고 "인식"합니다.
내 팁:
git config --global alias.acpp '!git add -A&branchatu="$(git symbolic-ref HEAD 2>/dev/heads)" &&branchatu=${gitatu##refs/heads/} &&git commit -m "$1" &shift >&git pull -u origin $git pushu -u origin $tu"
git commit의 svn과 유사한 동작을 원할 경우, .gitconfig의 git 별칭에 이 동작을 사용합니다.
commit = "!f() { git commit \"$@\" && git push; };f"
다음 솔루션은 푸시하기 전에 변경 사항을 확인하기 위한 사용자 검사를 추가합니다.취소하면 명령이 반환됩니다.그리고 그 모든 것은 현지 레포에 변화가 있을 경우에만 일어날 것입니다.
### SAFER LAZY GIT
function lazygit() {
git add .
if git commit -a -m "$1"; then
read -r -p "Are you sure you want to push these changes? [y/N]} " response
case "$response" in
[yY][eE][sS]|[yY])
git push
;;
*)
git reset HEAD~1 --soft
echo "Reverted changes."
;;
esac
fi
}
생선 껍질을 사용하는 경우(btse의 답변으로 구축):
이 파일을 '~/.config/fish/functions' 내에 'quickgit'로 저장합니다.fish'. 디렉터리가 없으면 디렉터리를 만듭니다. '--git-dir=$PWD/.git' 함수를 호출한 git 프로젝트에 대해 git 명령을 실행합니다.
function quickgit # This is the function name and command we call
git --git-dir=$PWD/.git add . # Stage all unstaged files
git --git-dir=$PWD/.git commit -a -m $argv # Commit files with the given argument as the commit message
git --git-dir=$PWD/.git push # Push to remote
end
터미널을 다시 시작하고 프로젝트로 이동하여 변경하면 'quickgit "example message"를 호출할 수 있습니다.이제 변경사항이 추가, 커밋 및 푸시됩니다. :).
https://gist.github.com/Abushawish/3440a6087c212bd67ce1e93f8d283a69 에서 Gist로도 찾을 수 있습니다.
이미 여러 가지 좋은 솔루션이 있지만, 제가 원하는 방식으로 작업할 수 있는 보다 우아한 솔루션이 있습니다.
저는 "git-put"이라는 스크립트를 경로에 넣었습니다. 여기에는 다음이 포함됩니다.
#!/bin/bash
git commit "$@" && git push -u
실행할 수 있습니다.
git put -am "나의 커밋 메시지"
..모든 파일을 추가하고 커밋한 후 푸시합니다.
(저는 이 문제와 관련이 없지만 어쨌든 저는 이것을 하기를 좋아하기 때문에 "-u"도 추가했습니다.따라서 항상 업스트림 분기가 풀링되도록 설정됩니다.)
이 접근 방식은 모든 파일을 추가하지 않고("-a" 생략) "gitput"을 사용하거나 커밋할 수 있는 다른 옵션을 사용할 수 있기 때문에 좋습니다.또한 "put"은 "push"와 "commit"의 짧은 합성어입니다.
VSCode를 사용하는 경우 이 확장을 다운로드하여 간단한 키보드 바로 가기 하나로 수행할 수 있습니다.
제 대답을 보세요. 모든 것을 한 줄에 추가했습니다.
alias gitcomm="echo 'Please enter commit message';read MSG ;git add --all;git commit -am=$MSG;git push"
명령을 위해 이 .sh 스크립트를 수행했습니다.
#!/bin/sh
cd LOCALDIRECTORYNAME/
git config --global user.email "YOURMAILADDRESS"
git config --global user.name "YOURUSERNAME"
git init
git status
git add -A && git commit -m "MASSAGEFORCOMMITS"
git push origin master
질문에 어떤 셸이 명시되어 있지 않기 때문에 이전 답변을 기반으로 한 esshell 버전이 있습니다.이것은 ~/.emacs.d/esshell/sshell에 있을 수 있는 esshell 별칭 파일에 포함됩니다. 첫 번째 파트 z https://github.com/rupa/z/ 을 추가했습니다. 이를 통해 현재 디렉터리가 무엇이든 빠르게 실행할 수 있습니다.
alias census z cens; git add .; git commit -m "fast"; git push
하기 가~/.bash_profile
하나의 명령 입력으로 추가, 커밋 및 푸시하는 경우:
function g() { git commit -a -m "$*"; git push; }
용도:
g your commit message
g your commit message 'message'
커밋 메시지에 세미콜론 또는 괄호를 사용할 수 없지만 따옴표는 필요하지 않습니다(따옴표는 하나만 사용할 수 있음).다음 중 원하는 항목이 있으면 메시지에 큰따옴표를 입력하십시오. 예:
g "your commit message; (message)"
메시지에 주석을 작성하려면 다음을 수행합니다.
g "your commit message:
> your note"
비슷한 방식으로 추가하고 커밋하는 기능도 있습니다.
function c() { git add --all; git commit -m "$*"; }
정확히 같은 방식으로 작동합니다.g
함수와 제약 조건이 동일합니다.그냥 넣어주세요c
대신.예.
c your commit message
원격으로 푸시하기 위한 별칭을 추가할 수도 있습니다.
alias p='git push'
용도:
p
그것은 두 글자로 되어 있습니다.c
그리고.p
Git 저장소로 작업하는 동안 사용합니다.또는 사용할 수 있습니다.g
한 글자로 모든 것을 하는 대신에.
별칭 및 함수의 전체 목록: https://gist.github.com/matt360/0c5765d6f0579a5aa74641bc47ae50ac
명령 그룹화에 적합합니다.
list; } 명령 목록을 중괄호로 묶으면 현재 셸 컨텍스트에서 목록이 실행됩니다.하위 셸이 작성되지 않습니다.세미콜론(또는 새 줄) 다음 목록이 필요합니다.
legit(){ git add --all; git commit -m "$1"; git push origin master; }
legit 'your commit message here'
언급URL : https://stackoverflow.com/questions/19595067/git-add-commit-and-push-commands-in-one
'programing' 카테고리의 다른 글
SQL Server 2008의 고유 키 대 고유 인덱스 (0) | 2023.07.13 |
---|---|
SQL에서 그룹당 증분 그룹 번호를 반환하는 방법 (0) | 2023.07.13 |
mongodb 덤프가 실패하고 DNS 메시지를 마샬링 해제할 수 없음 (0) | 2023.07.13 |
Firebase 인증을 사용하여 Float에서 사용자를 로그아웃하는 방법 (0) | 2023.07.13 |
오류 1064(42000):SQL 구문에 오류가 있습니다. 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서에서 확인하십시오. (0) | 2023.07.13 |