Jak niektórzy wspominali, możliwym sposobem jest użycie interaktywnej inscenizacji git . Jest to świetne, gdy masz pliki z różnymi rozszerzeniami
$ git add -i
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
Jeśli naciśniesz 2
wtedy enter
otrzymasz listę dostępnych plików do dodania:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Teraz wystarczy wpisać liczbę plików, które chcesz dodać, więc gdybyśmy chcieli dodać TODO
i index.html
wpisalibyśmy1,2
Update>> 1,2
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>
Widzisz *
przed numerem? to znaczy, że plik został dodany.
Teraz wyobraź sobie, że masz 7 plików i chcesz dodać je wszystkie oprócz siódmego? Jasne, moglibyśmy pisać, 1,2,3,4,5,6
ale wyobraź sobie, że zamiast 7 mamy 16, co byłoby dość kłopotliwe, dobrze, że nie musimy wpisywać ich wszystkich, ponieważ możemy używać zakresów, wpisując1-6
Update>> 1-6
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
* 4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
Możemy nawet użyć wielu zakresów, więc jeśli chcemy od 1 do 3 i od 5 do 7 wpisujemy 1-3, 5-7
:
Update>> 1-3, 5-7
staged unstaged path
* 1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
Możemy również użyć tego do zdestestowania plików, jeśli piszemy -number
, więc jeśli chcielibyśmy zdestestować plik numer 1, wpisalibyśmy -1
:
Update>> -1
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
* 5: unchanged +5/-1 file5.html
* 6: unchanged +5/-1 file6.html
* 7: unchanged +5/-1 file7.html
Update>>
Jak możesz sobie wyobrazić, możemy również zdestagować szereg plików, więc jeśli wpiszemy -range
wszystkie pliki z tego zakresu, zostaną one wycofane. Gdybyśmy chcieli zdestagować wszystkie pliki od 5 do 7, wpisalibyśmy -5-7
:
Update>> -5-7
staged unstaged path
1: unchanged +0/-1 TODO
* 2: unchanged +1/-1 index.html
* 3: unchanged +5/-1 lib/simplegit.rb
4: unchanged +5/-1 file4.html
5: unchanged +5/-1 file5.html
6: unchanged +5/-1 file6.html
7: unchanged +5/-1 file7.html
Update>>
git commit -a
otwiera edytor, w którym możesz wpisać treść wiadomości. Wpisz wiadomość, którą chcesz zobaczyć jako dziennik i wyjdź z edytora. To kończy zatwierdzenie. Kontynuuj, wysyłając zmiany do zdalnego repozytorium, używając nagit push <remote name> <branch name>
przykładgit push remote master