ΠΠΎΠ³Π΄Π° Π²Π°Ρ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π²Π΅ΡΡΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Git Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ (Π½ΠΎ Π½Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Git ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ‘.gitignore’), Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git clean
ΠΠΎΡ ΠΈ Π²ΡΠ΅!
Π’Π΅ΠΏΠ΅ΡΡ Git ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΡΡ, ΠΈ Π²Π°ΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠ½ΠΎΠ²Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡΡ.
ΠΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄Π½Π° Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git clean.
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°!
Git clean
ΠΠΎΠΌΠ°Π½Π΄Π° git clean ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Git – ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Π° git clean, Π·Π°ΠΏΡΡΠ΅Π½Π½Π°Ρ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²/ΡΠ»Π°Π³ΠΎΠ², ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Git Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ, Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ‘.gitignore’.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²/ΡΠ»Π°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ git clean.
ΠΠ½ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
- -n [ΠΈΠ»ΠΈ] –dry-run : ΠΠ΅ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ. ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠ»Π°Π³ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
- -d : ΠΡΠ»ΠΈ ΠΏΡΡΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½, Git Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π½ΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
- -i [ΠΈΠ»ΠΈ] –interactive : ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ – ΠΎΠ΄ΠΎΠ±ΡΠΈΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ΄ΠΎΠ±ΡΠΈΡΡ ΠΈΡ .
- -f [ΠΈΠ»ΠΈ] –force : Π Git Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ clean.requireForce, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅ Π² false, Git ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ΄Π°Π»ΡΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ. Π€Π»Π°Π³ -f ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
- -q [ΠΈΠ»ΠΈ] –quiet : ΠΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ ΡΠ°ΠΉΠ» ‘README.md’ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²Π΅ΡΡΠΈΠΉ Git’Π°, Π½ΠΎ Π½Π΅Ρ ΡΠ°ΠΉΠ»Π° ‘untracked-file’ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ‘untracked-dir’.
$ ls -l1
total 8
-rw-rw-r-- 1 pratham pratham 55 Mar 2 13:56 README.md
drwxrwxr-x 2 pratham pratham 4096 Mar 2 13:57 untracked-dir
-rw-rw-r-- 1 pratham pratham 0 Mar 2 13:57 untracked-file
$ git clean -n
Would remove untracked-file
$ git clean -dn
Would remove untracked-dir/
Would remove untracked-file
$ git clean -f
Removing untracked-file
# touch 'untracked-file' after git deleted it
$ git clean -df
Removing untracked-dir/
Removing untracked-file
Π ΠΌΠΎΠ΅ΠΌ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° ‘README.md’ ΠΈ ‘untracked-file’ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ‘untracked-dir’.
ΠΠ· ΡΡΠΈΡ ΡΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ ‘README.md’ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ Git’ΠΎΠΌ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π³ΠΎΠ²ΠΎΡΡ git clean ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ±Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π°Π³ΠΎΠ², Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ» ‘untracked-file’, Π½ΠΎ Π½Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π°Π³ -d Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ»Π°Π³ΠΎΠΌ -n, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ Git ΡΠ΄Π°Π»ΠΈΡ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΠΈ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ).
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π°Π³Π° -f Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»Π°Π³Π° -n.
ΠΠ°ΠΏΡΡΠΊ git clean -f ΡΠ΄Π°Π»ΠΈΠ» ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ» ‘untracked-file’. (Π― ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π» Π΅Π³ΠΎ ΡΠ½ΠΎΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ touch ΡΠ°Π΄ΠΈ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°).
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ git clean -df, Git Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΎΠ±Π° Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ» ‘untracked-file’ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ‘untracked-dir’.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Git Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° git clean, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·Π»ΠΈΡΠ½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ Π΄ΠΈΡΠΊΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ git clean Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅:
- πΒ Git ΡΠ΅Π±Π΅ΠΉΠ· ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ : Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
- πΒ ΠΠ±Π·ΠΎΡ Π»ΡΡΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Git-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π΄Π»Ρ Linux
- πΒ ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Git
- πΒ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π²Π΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git
- πΒ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π² Git
- πΒ ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git Π½Π° Alpine Linux
- πΒ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅Π³ΠΈ Git
- πΒ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git
- πΒ Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Git Switch ΠΈ git Checkout?