Próbuję znaleźć składnię scalania oznaczonego zatwierdzenia do innej gałęzi. Zgaduję, że jest to proste, ale moje słabe próby wyszukiwania go nie znajdują.
Próbuję znaleźć składnię scalania oznaczonego zatwierdzenia do innej gałęzi. Zgaduję, że jest to proste, ale moje słabe próby wyszukiwania go nie znajdują.
Odpowiedzi:
Masz na myśli to?
git checkout destination_branch
git merge tag_name
Pamiętaj, że przed scaleniem musisz zaktualizować tag, różni się on zupełnie od gałęzi ( git pull origin tag_name
nie zaktualizuje tagów lokalnych). Dlatego potrzebujesz następującego polecenia:
git fetch --tags origin
Następnie możesz wykonać git merge tag_name
scalenie tagu na gałęzi.
git remote add upstream git@github.com/org/repo
, a następnie git fetch --tags upstream
, aby to działało.
Uzupełniam odpowiedź.
Scalanie ostatniego tagu na gałęzi:
git checkout my-branch
git merge $(git describe --tags $(git rev-list --tags --max-count=1))
Zainspirowany https://gist.github.com/rponte/fdc0724dd984088606b0
To jedyny wszechstronny i niezawodny sposób, jaki znalazłem, aby to zrobić.
Załóżmy, że chcesz scalić „tag_1.0” z „mybranch”.
$git checkout tag_1.0 (will create a headless branch)
$git branch -D tagbranch (make sure this branch doesn't already exist locally)
$git checkout -b tagbranch
$git merge -s ours mybranch
$git commit -am "updated mybranch with tag_1.0"
$git checkout mybranch
$git merge tagbranch
Jestem spóźniony do gry tutaj, ale inne podejście może być:
1) utwórz gałąź z tagu ( $ git checkout -b [new branch name] [tag name]
)
2) utwórz żądanie ściągnięcia, aby połączyć się z nowym oddziałem w oddziale docelowym