실수로 Git 저장소를 rm -r하여 여러 사라지는 사건을 두 번 멈추십시오.
rm -r
해 버리는 일이 있다.$ rm -r repo
override r--r--r-- uasi/staff for repo/.git/objects/48/a35a5fffec3890bb52584a98898aa2b02a719a? ^C
위험하다고 생각해 ^C 해도 후의 축제다. 가장 중요한
.git/objects
이하의 파일은 리드 온리이므로 겨우 남아 있지만, .git/HEAD
야 .git/config
이런 슬픈 사건은 다시 일어나지 않도록 하자. 실수로 인한 삭제를 방지하려면 읽기 전용 파일
.git/!
$ touch repo/.git/\!
$ chmod a-wx repo/.git/\!
"!"에는 공백을 제외한 인쇄 가능한 문자 중 가장 작은 ASCII 코드가 있습니다.
rm
는 사전 순서로 파일을 삭제하므로 먼저 .git/!
를 지우려고합니다 (그러나 그렇지 않을 수도 있음 → 주석 참조). 그리고 :$ rm -r repo
override r--r--r-- uasi/staff for repo/.git/!?
“덮어쓰기(오버라이드)”를 “확인(컴팜)”해 주는···.
여기에서 취소하거든
.git/
의 내용은 전부 무사하게 rm -r
에서 살아난다.또한
rm -rf
된다면 불가피하게 사라지기 때문에 그 생각으로.여담:
git init
때때로 .git/!
를 배치하도록 템플릿 디렉토리 /usr/local/share/git-core/tmeplates
에 !
를 넣었지만, 복사시에 파일이 쓰기 가능하게 되어 버리지 않았다.
Reference
이 문제에 관하여(실수로 Git 저장소를 rm -r하여 여러 사라지는 사건을 두 번 멈추십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uasi/items/c86849f7413287405ccc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)