Programmer Application Note

2015년 4월 22일 수요일

git 삭제된 파일만 되돌리기

오후 4:59 Posted by PAN.SPOT , , No comments
svn을 쓰다가 git으로 넘어온 사람들을 보면 간혹 svn update와 같이 동작 하는것을 원하는 사람들이 있다.
삭제된 파일만 되돌리기를 하고 싶은경우 이다.
즉 여러개의 파일이 있을 때 수정된 파일을 제외 하고 삭제된 파일만 다시 reset 하고 싶을경우 이다.
먼저 UNDO 하는 방법을 알아보자.
1.모든 파일을 되돌릴 때
$git reset --hard HEAD
2.특정 파일만 되돌릴때
$git checkout -- file
2번을 이용하면 특정파일만 되돌릴 수 있으나 파일을 일일이 기입하는 것은 여간 귀찮은일이 아니다. 그래서 돌리고 싶은 파일만 삭제한 후 아래와 같이 입력한다.
$git ls-files -d | xargs git checkout --
파이프와 xargs를 이용한 방법으로 명령어를 해석해보면 다음과 같다.
- git ls-files -d 는 삭제된 파일만 출력한다.
- 파이프라인은 왼쪽에 있는 명령어의 출력을 오른쪽 명령의 입력으로 전달한다.
- 여기에서 xargs를 이용하면 git ls-files -d의 출력 결과를 checkout --의 인자로 전달하여 사용할 수 잇다.
자세한 사항을 알고 싶을경우 xargs에서 -t 옵션을 넣어서 확인해 본다.

0 개의 댓글:

댓글 쓰기