내가 일반적으로 내가 자식 별칭에 대해 들어 본 적이 자식여러 자식에 대한 별칭을 만들기
git commit -a -m "blah! blah!"
git checkout master
git merge work
git checkout work
로 지점 '작업'에 이러한 명령을 사용하여 명령. 별칭 또는 다른 것을 통해 이러한 모든 명령을 하나로 결합 할 수 있습니까? 네이티브 망할 놈의 명령 인 것처럼
내가 일반적으로 내가 자식 별칭에 대해 들어 본 적이 자식여러 자식에 대한 별칭을 만들기
git commit -a -m "blah! blah!"
git checkout master
git merge work
git checkout work
로 지점 '작업'에 이러한 명령을 사용하여 명령. 별칭 또는 다른 것을 통해 이러한 모든 명령을 하나로 결합 할 수 있습니까? 네이티브 망할 놈의 명령 인 것처럼
뿐만 아니라 코멘트에 게시 된 duplicate question에 대한 답변은 또한 git foo <args>
으로 실행 쉘 어딘가에 PATH
에서 (예를 들어) git-foo
호출 된 스크립트 액세스를 넣을 수 있습니다.
별칭에 대한 논리가 구성 파일의 한 줄에 너무 길면 유용 할 수 있습니다.
GMM 당신이
호출에 현재있는 한 모든 주어진 가지를 병합 :
$ cat > ~/bin/git-foo
#!/bin/bash
echo "Foo: $1"
^C
$ chmod +x ~/bin/git-foo
$ git foo test
Foo: test
죄송합니다, 저는 Windows 사용자이며 git 신규입니다. 너의 예가하고있는 일을 나에게 말해 줄 수 있니? –
당신은 또한 당신의 shell.rc 파일에 다음을 추가 할 수 있습니다 : 예를 들어
GMM 병합 할 분기 1 통합 할 분기 2 ...
gmm() {
src=`git branch --no-color | grep "*" | cut -f 2`
for i in [email protected]
do
git checkout $i
git merge $src
done
git checkout $src
}
As @ Will-Vousden sug gests, 이렇게하려면 쉘 스크립트를 작성할 수 있습니다. 예를 들어 :
:이 경우$ git-commit.sh "Commit message in quotes"
그러나이 방법 (또는 고유의 별명)이 쉽게 예를 들어, 병합 충돌을 실패 할 수 있습니다 :
#!/bin/bash
git commit -a -m "$1"
git checkout master
git merge work
git checkout work
은 당신처럼 부를 것
$ git-commit.sh "Commit message in quotes"
[work 1a6e17f] Commit message in quotes
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'master'
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.
file.txt: needs merge
error: you need to resolve your current index first
미해결 된 병합 충돌로 마스터 브랜치에서 나가게됩니다.
아마도 일부 논리를 스크립트에 추가하여 이러한 문제를 탐지하고 잠재적으로 작동시킬 수는 있지만 네 개의 별도 명령을 실행하는 것보다 훨씬 많은 노력과 노력이들 것입니다.
http://stackoverflow.com/q/7534184/1615903 – 1615903