디스크에서 이미 삭제 된 Git 저장소에서 여러 파일 제거 deleted: file2.txt #

Git 리포지토리를 사용하여 rm( not git rm ) 을 사용하여 4 개의 파일을 삭제 했으며 Git 상태는 다음과 같습니다.

#    deleted:    file1.txt
#    deleted:    file2.txt
#    deleted:    file3.txt
#    deleted:    file4.txt

수동으로 다음과 같이 각 파일을 추가하지 않고 Git에서 이러한 파일을 어떻게 제거합니까?

git rm file1 file2 file3 file4

이상적으로 git add .는 가능한 경우 와 동일한 방식으로 작동하는 것을 찾고 있습니다.



답변

힘내 1.x

$ git add -u

이것은 git에게 이전에 추적 된 파일 삭제를 포함하여 추적 된 파일을 자동으로 스테이징하도록 지시합니다.

힘내 2.0

전체 작업 트리를 준비하려면 :

$ git add -u :/

현재 경로 만 준비하려면 :

$ git add -u .


답변

git ls-files --deleted -z | xargs -0 git rm

당신이 찾고있는 것일 수도 있습니다 .. 그것은 나를 위해 작동합니다 ..


답변

당신이 사용할 수있는

git add -u

삭제 된 파일을 준비 영역에 추가하려면 커밋

git commit -m "Deleted files manually"


답변

당신이 단순히 실행하는 경우 :

git add -u

git은 인덱스를 업데이트하여 삭제 한 파일이 실제로 다음 커밋의 일부임을 알아야합니다. 그런 다음 “git commit”을 실행하여 해당 변경 사항을 체크인 할 수 있습니다.

또는 다음을 실행하는 경우 :

git commit -a

이러한 변경 사항 및 기타 변경 사항이 자동으로 적용되어 커밋됩니다.

업데이트 : 삭제 된 파일 만 추가하려면 다음을 시도하십시오.

git ls-files --deleted -z | xargs -0 git rm
git commit


답변

당신은 아마 -A를 찾고있을 것입니다 :

git add -A

이것은 git add -u와 유사하지만 새 파일도 추가합니다. 이것은 hg의 addremove명령 과 거의 같습니다 (이동 감지는 자동이지만).


답변

삭제 된 파일 준비하려면 :

for x in $(git status | grep deleted | awk '{print $2}'); do git rm $x; done

또는 (xargs 방식) :

git status | awk '/deleted/ {print $2}' | xargs git rm

나중에 사용하기 위해 선호하는 명령 세트의 별명을 지정할 수 있습니다 .


답변

git rm test.txt

실제 파일을 삭제하기 전 또는 후에