Git:git cleanコマンドで削除ファイルを対話的(インタラクティブ)に確認する方法

スポンサーリンク

git cleanコマンドで削除ファイルを対話的(インタラクティブ)に確認する方法

git cleanコマンドで削除ファイルを対話的(インタラクティブ)に確認するには-iオプションを指定します。

 

オプションの説明

 -i, --interactive
     Show what would be done and clean files interactively. See “Interactive mode” for details.

 

-iオプションを指定した場合(6: helpと1: clean)

$ git status -s
M  a.txt
A  b.txt
?? c.txt
?? d.txt
?? e.md
$ git clean -i
Would remove the following items:
  c.txt  d.txt  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> h
clean               - start cleaning
filter by pattern   - exclude items from deletion
select by numbers   - select items to be deleted by numbers
ask each            - confirm each deletion (like "rm -i")
quit                - stop cleaning
help                - this screen
?                   - help for prompt selection
Would remove the following items:
  c.txt  d.txt  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> 1
Removing c.txt
Removing d.txt
Removing e.md
$ git status -s
M  a.txt
A  b.txt

 

-iオプションを指定した場合(2: filter by patternと1: clean)

$ git clean -i
Would remove the following items:
  c.txt  d.txt  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> 2
  c.txt  d.txt  e.md
Input ignore patterns>> *.txt
  e.md
Input ignore patterns>>
Would remove the following item:
  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> 1
Removing e.md
$ git status -s
M  a.txt
A  b.txt
?? c.txt
?? d.txt

 

-iオプションを指定した場合(3: select by numbersと1: clean)

$ git status -s
M  a.txt
A  b.txt
?? c.txt
?? d.txt
?? e.md
$ git clean -i
Would remove the following items:
  c.txt  d.txt  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> 3
    1: c.txt    2: d.txt    3: e.md
Select items to delete>> 1
  * 1: c.txt    2: d.txt    3: e.md
Select items to delete>> 3
  * 1: c.txt    2: d.txt  * 3: e.md
Select items to delete>>
Would remove the following items:
  c.txt  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> 1
Removing c.txt
Removing e.md
$ git status -s
M  a.txt
A  b.txt
?? d.txt

 

-iオプションを指定した場合(4: ask each)

$ git status -s
M  a.txt
A  b.txt
?? c.txt
?? d.txt
?? e.md
$ git clean -i
Would remove the following items:
  c.txt  d.txt  e.md
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers    4: ask each             5: quit                 6: help
What now> 4
Remove c.txt [y/N]? y
Remove d.txt [y/N]? n
Remove e.md [y/N]? y
Removing c.txt
Removing e.md
$ git status -s
M  a.txt
A  b.txt
?? d.txt