버전 제어에서 삭제해야하는 소스 파일을 처리하는 방식이 나쁜 습관으로 간주 될 수 있는지 알고 싶었습니다.
그 예를 기반으로 설명하고 싶습니다.
나는 기본적으로 데드 코드 인 프로그램에서 Java 클래스를 신중하게 정렬해야했기 때문에 최근에 매우 화가 나었지만 아무 것도 문서화되지 않았으며 Java 클래스에서도 주석 처리되지 않았습니다. 물론 그것들을 삭제해야했지만 중복 항목을 삭제하기 전에 이상한 습관이있을 수 있습니다.
SVN-> Delete (선택한 버전 제어 시스템의 delete 명령으로 대체)를 통해 이러한 중복 파일을 즉시 삭제하지는 않지만 대신 해당 파일에 주석을 넣습니다 (머리글과 바닥 글 모두 참조). 삭제 + 내 이름 + 날짜 및 더 중요하게- 왜 삭제 되었는가 (내 경우에는 코드가 죽었 기 때문에 혼란 스럽습니다). 그런 다음 저장하고 버전 관리에 커밋합니다. 다음 번에는 프로젝트에서 버전 제어를 위해 커밋 / 체크인해야 할 때 SVN-> 삭제를 누른 다음 버전 관리에서 결국 삭제됩니다. 물론 개정을 통해 복원 할 수 있습니다.
왜 바로 삭제하는 대신 이것을 하는가?
내 이유는, 중복 파일이 존재하는 마지막 개정판에서 명시 적으로 마커를 원하기 때문에 삭제해야 할 이유가 있습니다. 내가 즉시 삭제하면 삭제되지만 왜 삭제되었는지는 문서화되지 않았습니다. 다음과 같은 일반적인 시나리오를 피하고 싶습니다.
"흠 ... 왜 그 파일들이 삭제 되었습니까? 나는 전에 잘 작동했습니다." ( '되돌아 가기'-> 그러면 되돌아 간 사람은 다음 주에 영원히 사라지거나 사라질 수 있습니다. 다음 담당자는 그 파일이 무엇인지 확실하게 나와 같은 것을 찾아야합니다)
그러나 커밋 메시지에서 해당 파일이 삭제 된 이유는 무엇입니까?
물론 나는하지만 동료가 커밋 메시지를 읽지 못하는 경우가 있습니다. 일반적으로 모든 커밋 메시지와 함께 버전 제어 로그를 확인하는 (제 경우에는 죽은) 코드를 이해하려고 시도하는 것은 일반적인 상황이 아닙니다. 동료는 로그를 크롤링하는 대신이 파일이 쓸모 없다는 것을 즉시 확인할 수 있습니다. 그것은 / 그녀의 시간을 절약하고 그녀는 아마도이 파일이 잘못 복원되었을 것임을 알고 있습니다 (또는 적어도 질문을 제기합니다).