Jeśli nie wiesz, automatycznie wygenerowana nazwa jest jedną z opcji uzupełniania. Tak więc, kiedy po raz pierwszy naciskasz some-branch-namena originpilota, prawdopodobnie możesz po prostu wpisać, o TAB s TABa otrzymasz nazwę, którą chcesz.
Malabarba
Och ok, nie wiedziałem, dziękuję. Problemem jest to, że mam wiele gałęzi zaczynających się na te same prefiksy, co nie jest bardzo przydatne, zawsze też umieszczam zdalne gałęzie o tej samej nazwie co gałęzie lokalne.
z1naOK9nu8iY5A 7.07.15
Odpowiedzi:
8
Aktualizacja: Wspomniana poniżej „gałąź wypychania” została już wdrożona. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą rozgałęzień .
Musisz raz ustawić gałąź nadrzędną. Gdy to zrobisz, P Pnaciskasz na to, a otrzymasz listę niepustanych i nieprzypisanych zmian w buforze stanu (pod warunkiem, że są).
Istnieją różne sposoby ustawienia gałęzi upstream. Można użyć --set-upstreamprzełącznika z popup Push: P -u P. Lub użyj polecenia określający górną i robi nic innego: b u.
Również Magit automatycznie ustawia teraz gałąź odgórną podczas tworzenia nowej gałęzi, pod warunkiem, że „punktem początkowym” jest nazwa gałęzi. Działa to dla lokalnych i zdalnych „upstreams”. Pamiętaj jednak, że jeśli wybierzesz lokalny oddział jako punkt początkowy, nie pomoże ci to w przepychaniu. Przenoszenie z bieżącego repozytorium do bieżącego repozytorium oczywiście nie ma sensu i jest niedozwolone.
Kiedy więc gałąź „nadrzędna” jest w rzeczywistości inną gałęzią lokalną, P Pzachowuje się tak, jakby żadna gałąź nadrzędna nie została skonfigurowana i zachowuje się dokładnie tak samo P e. To samo dotyczy sytuacji, gdy w ogóle nie jest skonfigurowany żaden serwer.
Wynika to z ograniczenia w Git: można powiązać tylko jedną gałąź z inną gałęzią, a gałąź ta jest następnie nazywana „gałęzią nadrzędną”. Byłoby lepiej, gdyby istniał przynajmniej oddział „upstream” i „publishing”. W końcu zamierzam to zaimplementować w Magit. Zobacz numer 1485 .
Więc jeśli chcesz mieć możliwość pushowania, P Pwtedy gałąź „upstream” musi być np. „Origin / master”, a nie „master”.
Rozważam dodanie wariantu push, który zawsze działa git pushbez żadnych argumentów. To, co by to zrobiło, zależałoby wyłącznie od konfiguracji Git.
Rozgałęziałem się masteri nie ustawiłem w górę, czy może powinienem rozgałęzić się, origin/masteraby automatycznie ustawić w górę?
z1naOK9nu8iY5A
Zobacz zaktualizowaną odpowiedź.
tarsius
1
Rozgałęzienie z origin/masterzestawu origin/masterjako upstream, ale spodziewałbym się, że będę mieć origin/branch-nameupstream.
z1naOK9nu8iY5A
Jeśli tego właśnie chcesz, najlepiej to zrobić podczas wypychania. P -p P <... completion ...> RETPamiętaj, że origin/branch-namejest oferowany jako kandydat do ukończenia, więc nie musisz go wpisywać.
tarsjusz
2
Jest to bolesne, gdy używasz gitflow i ściągasz prośby o sprawdzenie kodu, z gałęzią na funkcję, ponieważ zwykle zawsze wypychasz tylko raz i zawsze tworzysz gałąź zdalną o tej samej nazwie co gałąź lokalna. Przesunięcie do innej nazwanej gałęzi byłoby końcowym przeglądem kodu.
Barry Kelly,
3
Korzystam z następujących porad, które automatycznie włączają się, --set-upstreamgdy bieżący oddział nie ma jeszcze upstream:
(defun magit-push-arguments-maybe-upstream (magit-push-popup-fun &rest args)"Enable --set-upstream switch if there isn't a current upstream."(let((magit-push-arguments
(if(magit-get-remote) magit-push-arguments
(cons"--set-upstream" magit-push-arguments))))(apply magit-push-popup-fun args)))(advice-add 'magit-push-popup:around #'magit-push-arguments-maybe-upstream)
W połączeniu z zakończeniem ido pozwala to na przesunięcie nowej gałęzi dzięki P P RET:
Po prostu tworzę nową gałąź z, b ca następnie edytuję .git/configplik, aby wskazywał, origin/branchzamiast małpować wszystkie magit 2 rzeczy, co i tak wydaje się nie działać.
To działa, podczas gdy wciąż nie znalazłem kombinacji klawiszy w Magit2, która spełnia tę samą funkcję. Próba ustawienia pilota nie działa, ponieważ nie istnieje on jeszcze na początku.
Upstream można ustawić za pomocą bu. Ale to wykorzystuje git branch --set-upstream-toi, jak wiesz, Git nie może ustawić nieistniejącej gałęzi jako nadrzędnej, więc Magit też nie może.
Tarsius
@tarsius magit 1 wydawał się robić to, czego potrzebowałem. Próbuję tylko odzyskać pozory tego przepływu pracy.
some-branch-name
naorigin
pilota, prawdopodobnie możesz po prostu wpisać,o TAB s TAB
a otrzymasz nazwę, którą chcesz.Odpowiedzi:
Aktualizacja: Wspomniana poniżej „gałąź wypychania” została już wdrożona. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą rozgałęzień .
Musisz raz ustawić gałąź nadrzędną. Gdy to zrobisz, P Pnaciskasz na to, a otrzymasz listę niepustanych i nieprzypisanych zmian w buforze stanu (pod warunkiem, że są).
Istnieją różne sposoby ustawienia gałęzi upstream. Można użyć
--set-upstream
przełącznika z popup Push: P -u P. Lub użyj polecenia określający górną i robi nic innego: b u.Również Magit automatycznie ustawia teraz gałąź odgórną podczas tworzenia nowej gałęzi, pod warunkiem, że „punktem początkowym” jest nazwa gałęzi. Działa to dla lokalnych i zdalnych „upstreams”. Pamiętaj jednak, że jeśli wybierzesz lokalny oddział jako punkt początkowy, nie pomoże ci to w przepychaniu. Przenoszenie z bieżącego repozytorium do bieżącego repozytorium oczywiście nie ma sensu i jest niedozwolone.
Kiedy więc gałąź „nadrzędna” jest w rzeczywistości inną gałęzią lokalną, P Pzachowuje się tak, jakby żadna gałąź nadrzędna nie została skonfigurowana i zachowuje się dokładnie tak samo P e. To samo dotyczy sytuacji, gdy w ogóle nie jest skonfigurowany żaden serwer.
Wynika to z ograniczenia w Git: można powiązać tylko jedną gałąź z inną gałęzią, a gałąź ta jest następnie nazywana „gałęzią nadrzędną”. Byłoby lepiej, gdyby istniał przynajmniej oddział „upstream” i „publishing”. W końcu zamierzam to zaimplementować w Magit. Zobacz numer 1485 .
Więc jeśli chcesz mieć możliwość pushowania, P Pwtedy gałąź „upstream” musi być np. „Origin / master”, a nie „master”.
Rozważam dodanie wariantu push, który zawsze działa
git push
bez żadnych argumentów. To, co by to zrobiło, zależałoby wyłącznie od konfiguracji Git.źródło
master
i nie ustawiłem w górę, czy może powinienem rozgałęzić się,origin/master
aby automatycznie ustawić w górę?origin/master
zestawuorigin/master
jako upstream, ale spodziewałbym się, że będę miećorigin/branch-name
upstream.P -p P <... completion ...> RET
Pamiętaj, żeorigin/branch-name
jest oferowany jako kandydat do ukończenia, więc nie musisz go wpisywać.Korzystam z następujących porad, które automatycznie włączają się,
--set-upstream
gdy bieżący oddział nie ma jeszcze upstream:W połączeniu z zakończeniem ido pozwala to na przesunięcie nowej gałęzi dzięki P P RET:
źródło
Po prostu tworzę nową gałąź z,
b c
a następnie edytuję.git/config
plik, aby wskazywał,origin/branch
zamiast małpować wszystkie magit 2 rzeczy, co i tak wydaje się nie działać.Zmiana:
Do
To działa, podczas gdy wciąż nie znalazłem kombinacji klawiszy w Magit2, która spełnia tę samą funkcję. Próba ustawienia pilota nie działa, ponieważ nie istnieje on jeszcze na początku.
źródło
bu
. Ale to wykorzystujegit branch --set-upstream-to
i, jak wiesz, Git nie może ustawić nieistniejącej gałęzi jako nadrzędnej, więc Magit też nie może.