2012-05-07 16 views
23

Używam Git dla Windows (wersja 1.7.8-preview20111206) i nawet jeśli mam plik .bash_history w moim folderze HOME, to nigdy nie jest automatycznie aktualizowany . Kiedy uruchamiam Git Bash, widzę w poleceniach historii, które ręcznie dodałem do pliku .bash_history, ale nie są one aktualizowane automatycznie..bash_history nie aktualizuje się w Git dla Windows (git bash)

Użyłem polecenia shopt -s histappend, aby upewnić się, że historia zostanie zapisana za każdym razem, gdy zamknę powłokę, ale to nie zadziała.

Jeśli ręcznie skorzystam z polecenia history -w, mój plik zostanie zaktualizowany, ale chciałbym zrozumieć, dlaczego polecenie shopt nie działa tak, jak rozumiem, powinno.

Ktoś może mi powiedzieć, dlaczego to się dzieje?

góry dzięki

+0

Jakie są wartości '$ HISTSIZE',' $ HISTFILESIZE' i '$ HISTFILE'? –

+0

$ HISTSIZE to 10000, $ HISTFILESIZE to 10000, a $ HISTFILE to /h/.bash_history. – franmon

Odpowiedz

30

kładę to w moim ~/.bash_profile

PROMPT_COMMAND='history -a' 
+2

To działało dla mnie na 64-bitowym Win 7. Przez jakiś czas wyrywało mi włosy, ale nie działało - wtedy zdałem sobie sprawę, że stworzyłem z końcówkami linii Windows, które pękają. Jeśli masz problemy, sprawdź dokładnie, czy zapisałeś z końcówkami linii Unix za pomocą edytora obsługującego to - nie np. Notatnik! – psdie

+0

Zawsze możesz użyć 'vim' nawet w linii poleceń Git-Bash – Highmastdon

+0

Możesz także użyć dos2unix do konwersji końcówek linii również. – Chance

4

Jeśli używasz git bash dla Windows 8, wystarczy umieścić to w ~/.bash_logout pliku:

history > .bash_history 

Oczywiście potrzebny jest plik ~/.bash_history.

Pozdrawiam.

+0

Windows 8.1 i GNU bash, wersja 3.1.0 (1) -release (i686-pc-msys) - działa! – abrasadera

+2

Z jakiegoś powodu nie działa to dla mnie. Win7 x64. –

+2

@CamiloMartin - zobacz mój komentarz powyżej, aby upewnić się, że użyłeś końcówek linii Unix (użyłem .bash_profile). – psdie

18

Jak już wspomniano, here, aby zapisać historię bitu git w systemie Windows, nie należy zamykać terminalu za pomocą przycisku X. Zamiast tego użyj polecenia exit. Historia poleceń zostanie zapisana, niezależnie od konfiguracji wymienionej w zaakceptowanej odpowiedzi.

+1

to dobrze wiedzieć, ale trudno mi będzie o tym pamiętać. – Chance

+0

@Chance na szczęście nie musisz już o tym pamiętać, ponieważ w nowszych wersjach Git dla Windows nie jest to prawdą. Testowane w wersji 2.9.3 na win7 i 10. – Superole

+1

@Rozmiar nie jest prawdziwy na moim komputerze. Mam git 2.12.2 dla Windows 8.1 (najnowsze na 04/17), a jedynym sposobem na zapisanie historii, o której wiem, jest wpisanie "wyjścia" przed kliknięciem przycisku x – Sebastian

Powiązane problemy