@Charles 응답이 정확합니다. 어쨌든 나는 이것을 여러 번 사용하여 결국 프로젝트의 특정 구성을 다시 작성했습니다.
* a8f9182 (HEAD-> 생산) 생산 구성
| * daa18b7 (사전) 사전 제작 구성
| /
| * d365f5f (로컬) 로컬 구성
| /
* 27d2835 (dev) 세상을 구할 놀라운 새로운 기능
* | 56d2467 (마스터) 프로젝트를위한 지루한 상태
| /
이에 대한 새 명령을 만듭니다.
$ 고양이 ~ / bin / git-rebaseshot
커밋 = $ 1
DEST = $ {2 : -HEAD}
git rebase $ {COMMIT} ^ $ {COMMIT}-$ DEST에
일반적으로 해당 명령에 대한 브랜치 이름을 자동 완성하고 싶으므로이 함수를 소싱하여 추가합니다 (.bashrc 또는 .profile에 추가).
_git_rebaseshot ()
{
__gitcomp_nl "$ (__ git_refs)"
}
git autocomplete가 검색합니다.
이 명령을 다음과 같이 사용할 수 있습니다.
# rebase config on prepro on actual HEAD
$ git rebaseshot prepro
# rebase config on local onto dev
$ git rebaseshot local dev
# rebase production config on master
$ git rebaseshot pro master
기능을 올바르게 나누면 가능성은 무한합니다.
* a8f9182 (HEAD-> postgres) BBDD 구성
* a8f9182 (로컬) 로컬 구성
* a8f9182 (디버그) 로그 수준 구성
* a8f9182 (dev) 새로운 기능
|
나는 이것이 사람들 이 퀼트를 좋아하는 것 같아요 .
이 명령은 어떤 sha / ref를 제공하든 상관없이 작동합니다.
$ git rebaseshot <Feature branch> master
$ git rebaseshot <commit of XX> master