2011-06-17 16 views
5

Ludzie,git pchania pojedynczego pliku do odległego oddziału śledzenia

To jest mój przypadek użycia: Mam 3 oddziały, wszystkie trzy są odległe oddziały śledzenia.

git branch 
    release-alpha 
* release-allUS 
    master 

Teraz dodałem nowy plik w uwalnianiu allUS gałęzi, zrobiłem popełnić w ten sposób:

git add filter_driver.rb 
git commit -m "driver code" 

Teraz chcę naciskać tylko ten plik do zdalnego uwalniania allUS oddziału, Jak mogę to zrobić? Wielkie dzięki za wszelkie opinie.

Odpowiedz

11

Ponieważ wszystko, co popełniłeś na miejscu, to jeden plik, zadziała git push na twoim pilocie. Push wypchnie tylko to, co zostało popełnione na miejscu.

git push origin release-allUS 

Jak manojlds zauważył w komentarzach, to będzie działać tylko jeśli nic innego nie były etapy i nie istnieją żadne inne unpushed lokalne commity. Jeśli tak jest, prawdopodobnie najlepiej jest utworzyć nową gałąź śledzącą ze zdalnego, wiśnia wybierając lokalne zatwierdzenie w nowym oddziale, przesuwając do zdalnego, a następnie przesyłając ponownie oryginalną gałąź śledzenia.

+1

+1 - To także, chyba że inne pliki zostały wcześniej wystawione. – manojlds

4

Wiem, że można przesunąć do pewnego oddziału w ten sposób:

git push origin <branch> 

Właśnie zerknął na git push --help i nie wydaje się, aby powiedzieć coś o wysyłaniu pojedynczego pliku zobowiązać się do oddziału .

być może do tego dołączysz gałąź integration, której nigdy nie dotykasz, z wyjątkiem sytuacji, gdy chcesz przepchnąć zatwierdzenia. jeśli jesteś w swoim oddziale integration, możesz zrobić git cherry-pick <commit> z innego oddziału, przynosząc tylko to, co było w tym zatwierdzeniu, do integration, a następnie wykonać git push origin integration.

Powiązane problemy