Konfiguruję Git z Gerrit Code Review i szukam sposobu, aby niezbędne polecenia Git były stosunkowo proste dla użytkowników, którzy mogą być nowi w Git.Jak skonfigurować specyficzny push refspec dla Gita w połączeniu z Gerrit?
Komendy Obecnie mam na rozpoczęcie nowej funkcji oddziału są zasadniczo (zakładając Gerrit jest origin
):
git checkout baseline
git pull
git checkout -b work1234
git push -u origin work1234
ten rozpoczyna nowy pakiet roboczy work1234
rozgałęziony od jakiegoś baseline
, a ostateczne pchnięcie tworzy gałąź w Gerrit i ustawia upstream. Więc .git/config
wyglądał:
[branch "work1234"]
remote = origin
merge = refs/heads/work1234
Teraz Gerrit chce nowych zatwierdzeń dla przeglądu musi być odłożony do specjalnego refspec, refs/for/work1234
na przykład. Mogę to zrobić ręcznie:
git push origin work1234:refs/for/work1234
Co chciałbym zrobić, to znaleźć jakiś sposób, aby skonfigurować .git/config
tak, że zwykły git push
pchnie aktualną gałąź do refspec na pilocie, który wymaga Gerrit. Mam spojrzał na następujących obszarach: git config
branch.<name>.*
- wydaje się nie mieć żadnej konkretnej opcji ustawiania push refspecpush.default
- I jakby chciałupstream
tutajremote.<name>.push
- Próbowałemrefs/heads/*:refs/for/*
tutaj alegit push
zawsze chce wcisnąć wszystkie lokalnych oddziałów w tym przypadku, a ja po prostu chcę prąd oddział
Jeśli nie mogę zmusić Gita do zrobienia tego samodzielnie, napiszę mały skrypt, który w pełni określi refspecs. Byłoby jednak lepiej, gdyby Git mógł nacieszyć się we właściwe miejsce.
Czy istnieje prostsze rozwiązanie git-only, jeśli zawsze chcę nacisnąć do określonego miejsca docelowego, powiedz 'refs/for/master'? ([Here] (http://stackoverflow.com/questions/29664305/equivalent-of-branch-name-merge-for-git-push) moje pytanie SO z prośbą o prostszą wersję twojego problemu.) – Pradhan