Uwaga: przyj.wartość domyślna jest wyłączona; jej domyślna wartość zmienia się w Git 2.0

Używam Gita od jakiegoś czasu i ostatnio pobrałem aktualizację tylko po to, aby znaleźć ten Komunikat ostrzegawczy, który pojawia się, gdy próbuję push.

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

Mogę oczywiście ustawić na jedną z wymienionych wartości, ale co one oznaczają? Jaka jest różnica między simple a matching?

Jeśli zmienię go na jednym kliencie, czy będę musiał zrobić coś na innych klientach, z którymi dzielę transakcje repo?

Author: Marko, 2012-10-31

4 answers

Jest to szczegółowo wyjaśnione w the docs , ale postaram się streścić:

  • matching oznacza, że git push wypchnie wszystkie lokalne gałęzie do tych o tej samej nazwie na pilocie. Ułatwia to przypadkowe pchnięcie gałęzi, której nie zamierzałeś.

  • simple oznacza, że git push wypchnie tylko bieżącą gałąź do tej, któragit pull wyciągnie z , a także sprawdzi, czy ich nazwy pasują. Jest to bardziej intuicyjne zachowanie, które dlatego domyślne jest zmieniane na to.

To ustawienie wpływa tylko na zachowanie lokalnego klienta i może zostać nadpisane poprzez jawne określenie gałęzi, które chcesz wypchnąć w wierszu poleceń. Inni klienci mogą mieć różne ustawienia, wpływa to tylko na to, co się dzieje, gdy nie określisz, które gałęzie chcesz wypchnąć.

 2121
Author: hammar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-08 17:48:07

Zdaję sobie sprawę, że to stary post, ale ponieważ właśnie natknąłem się na ten sam problem i miałem problem ze znalezieniem odpowiedzi, pomyślałem, że dodam trochę.

Więc odpowiedź @hammar jest prawidłowa. Używanie push.default simple jest w pewnym sensie jak Konfigurowanie śledzenia na gałęziach, aby nie trzeba było określać pilotów i gałęzi podczas pchania i ciągnięcia. Opcja matching spowoduje wysłanie wszystkich gałęzi do ich odpowiedników na domyślnym zdalnym (który jest pierwszym, który został skonfigurowany, chyba że skonfigurowałeś repo inaczej).

Jedną z rzeczy, które mam nadzieję, że inni będą przydatni w przyszłości, jest to, że używałem Git 1.8 na OS X Mountain Lion i nigdy nie widziałem tego błędu. Aktualizacja do Mavericks jest tym, co nagle się pojawiło (uruchomienie {[2] } pokaże git version 1.8.3.4 (Apple Git-47), czego nigdy nie widziałem, aż do aktualizacji do systemu operacyjnego.

 19
Author: Bill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-26 17:00:05

Jeśli otrzymasz wiadomość od git, która skarży się na wartość simple w konfiguracji, sprawdź swoją git version.

Po uaktualnieniu XCode (na Mac running Mountain Lion), który również uaktualnił git z 1.7.4.4 na 1.8.3.4, powłoki zaczęły się jeszcze przed aktualizacją git 1.7.4.4 oraz wartość simple dla push.domyślne w konfiguracji globalnej.

Rozwiązaniem było zamknięcie muszli uruchamiających starą wersję git i użycie nowego wersja!

 7
Author: Tom Barron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-24 14:49:10

Zastanawiałem się, dlaczego otrzymałem ten Komunikat ostrzegawczy na Ubuntu 16.04 (który pochodzi z Git 2.7.4), ale nie na Arch Linux. Powodem jest to, że ostrzeżenie zostało usunięte w Git 2.8 (Marzec 2016):

Przez przejście w okolicach Git w wersji 2.0, użytkownik użył do uzyskaj dość głośne ostrzeżenie podczas uruchamiania "git push" bez ustawienia przyj.domyślna zmienna konfiguracyjna. Nie ostrzegamy już, ponieważ przejście zostało zakończone przez długi czas temu.

Więc nie zobaczysz ostrzeżenia, jeśli masz Git 2.8 i nowsze i nie musisz ustawiać push.default, chyba że chcesz zmienić domyślne zachowanie 'simple'.

 1
Author: Eugene Yarmash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-19 13:10:12