Wat is het verschil tussen `git add .` en `git add -u`?

Ik ging ervan uit dat beide op dezelfde manier werken. Beide voegen elk bestand toe aan index. Maar ik heb het mis.

  • Wat is het verschil tussen git add .en git add -u?

Antwoord 1, autoriteit 100%

Het is een van de git gotcha’s die hier worden genoemd (pre Git 2.0).

git add .voegt alleen toe wat er is, niet wat is verwijderd (indien bijgehouden).

git add .
git commit
git status
//hey! why didn't it commit my deletes?, Oh yeah, silly me
git add -u .
git commit --amend

git add -Azou voor beide stappen zorgen…


Met Git 2.0 , git add -Ais standaard.

git add <path>is nu hetzelfde als “git add -A <path>“, zodat
git add dir/” zal paden opmerken die je uit de directory hebt verwijderd en
noteer de verwijdering.
In oudere versies van Git werd “git add <path>” gebruikt om verwijderingen te negeren.

Je kunt “git add --ignore-removal <path>” zeggen tegen
voeg alleen toegevoegde of gewijzigde paden toe in <path>, als je dat echt wilt.


Waarschuwing (git1.8.3 april 2013, voor aankomende git2.0).
Ik heb mijn antwoord aangepast om git add -u .te zeggen, in plaats van git add -u.:

git add -uwerkt op de hele boomin Git 2.0 voor consistentie met “git commit -a” en andere commando’s.
Omdat er geen mechanisme zal zijn om “git add -u” zich te laten gedragen als “git add -u .“, is het
belangrijk voor degenen die gewend zijn om “git add -u” (zonder pathspec) de index alleen bij te werken voor paden in de huidige submap om hun vingers te trainen om expliciet “git add -u .” als ze het menen voordat Git 2.0 komt.

Zoals ik al zei in “e


Antwoord 2, autoriteit 32%

Zoals de handleiding zegt: git add .zal alle bestanden in de huidige directory toevoegen, terwijl git add -u .alleen die bestanden toevoegt die al worden bijgehouden.

p>


Antwoord 3, autoriteit 18%

git add documentaiton

git add . 

voeg alle bestanden toe uit de huidige map

git add -u 

update alleen bestanden die momenteel worden bijgehouden.

Other episodes