서브버전 SVN의 변경 세부 사항을 검색하는 방법은?
_____A: SVN에서는 `svn log`, `svn diff`, `svn info` 등의 명령어를 사용해 변경 세부 사항을 확인할 수 있습니다. 주요 방법은 다음과 같습니다.
---
Q1: 특정 리비전(revision)의 변경 내역만 보고 싶을 때는 어떻게 하나요?
A: 다음 명령어를 사용합니다.
```
svn log -r [리비전번호]
```
예:
```
svn log -r 123
```
이 명령어는 리비전 123의 커밋 메시지, 작성자, 일시 등의 정보를 보여줍니다.
---
Q2: 특정 리비전에서 수정된 파일들의 목록만 보고 싶을 때는?
A: 아래 옵션을 추가합니다.
```
svn log -v -r [리비전번호]
```
예:
```
svn log -v -r 123
```
`-v`(verbose)는 어떤 파일들이 추가, 수정, 삭제되었는지 상세 목록을 출력합니다.
---
Q3: 두 리비전 사이의 변경 파일 내용을 비교하고 싶을 때는?
A: `svn diff` 명령어를 사용합니다.
```
svn diff -r [시작리비전]:[끝리비전]
```
예:
```
svn diff -r 122:123
```
이 명령어는 리비전 122와 123 사이의 모든 변경된 파일들의 라인 단위 차이(diff)를 보여줍니다.
---
Q4: 특정 파일의 특정 리비전 변경 내용을 확인하려면?
A: 다음과 같이 파일 경로와 리비전을 지정합니다.
```
svn diff -c [리비전번호] 경로/파일명
```
또는
```
svn diff -r [리비전번호-1]:[리비전번호] 경로/파일명
예:
```
svn diff -c 123 trunk/src/main.c
```
---
Q5: 리비전의 자세한 변경 정보(커밋 메시지, 작성자, 변경 파일, 수정된 라인 등)를 한 번에 보고 싶어요.
A: 두 가지 명령어를 조합하는 방법이 있습니다.
1) 로그와 변경 파일 목록 조회:
```
svn log -v -r [리비전번호]
```
2) 변경 파일들의 상세 라인 차이 확인:
```
svn diff -c [리비전번호]
```
따라서, 우선 로그로 어떤 파일이 변경되었는지 확인한 뒤, diff 명령으로 상세한 내용을 확인하는 게 일반적입니다.
---
Q6: 커밋 메시지 외에 작성자, 날짜 등도 확인하려면?
A: `svn log` 명령어를 사용하면 다음과 같은 정보를 제공합니다.
```
svn log -r [리비전번호]
```
출력 예:
```
------------------------------------------------------------------------
r123 | username | 2024-06-01 14:33:22 +0900 (목, 01 6월 2024) | 1 line
커밋 메시지 내용
------------------------------------------------------------------------
```
---
Q7: 변경 사항을 GUI 환경에서 보고 싶으면?
A: TortoiseSVN(윈도우용 SVN 클라이언트) 등 GUI 클라이언트를 사용하면 로그와 diff를 시각적으로 쉽게 확인할 수 있습니다. 파일 또는 폴더를 마우스 오른쪽 버튼으로 클릭해 ‘Show Log’ 메뉴를 선택하면 변경 내역과 세부 파일 변경 내용을 볼 수 있습니다.
---
요약:
- 변경 이력 및 커밋 메시지: `svn log -r 번호`
- 변경 파일 목록까지: `svn log -v -r 번호`
- 변경 내용(diff) 보기: `svn diff -c 번호` 또는 `svn diff -r 이전:현재`
- 파일별 변경 내용 비교: `svn diff -c 번호 경로/파일명`
- GUI 툴(TortoiseSVN 등)을 사용하면 시각적으로 손쉽게 확인 가능
위 방법들을 통해 SVN의 변경 세부 사항을 효율적으로 조회할 수 있습니다.
이를 통해 프로젝트의 버전 기록을 보고, 각 변경 사항의 내용을 파악할 수 있습니다.
다음은 SVN의 변경 세부 사항을 검색하는 방법입니다: 1. `svn log` 명령어 사용 `svn log` 명령어는 리포지토리의 커밋 로그를 보여줍니다.
최신 변경 사항부터 과거의 변경 사항까지 나열되며, 각 커밋의 메시지와 그에 대한 정보를 포함합니다.
```bash svn log [URL 또는 경로] ``` 예를 들어, 현재 디렉토리에 있는 리포지토리의 로그를 보려면: ```bash svn log ``` 또는 특정 파일의 로그를 보려면: ```bash svn log [파일 경로] ``` 출력 예시: ``` r123 | user | 2023-10-01 15:00:00 +0000 (Mon, 01 Oct 202
3) | 1 line Changed the implementation of function X to improve performance. ```
2. `svn diff` 명령어 사용 `svn diff` 명령어를 사용하면 특정 커밋 간의 차이를 볼 수 있습니다.
이를 통해 어떤 코드가 변경되었는지 자세히 확인할 수 있습니다.
```bash svn diff -r [rev1]:[rev2] [파일 경로] ``` 예를 들어, 커밋 r123과 r124 사이의 변경 사항을 비교하려면: ```bash svn diff -r 123:124 [파일 경로] ```
3. 특정 변경 사항의 세부 정보 확인 특정 리비전(r)을 기반으로 변경 세부 사항을 확인하려면: ```bash svn log -r [rev] [URL 또는 경로] ``` 예를 들어: ```bash svn log -r 123 ``` 이를 통해 특정 커밋에 대한 로그 메시지, 날짜, 작성자 등의 세부 정보를 볼 수 있습니다.
4. `svn blame` 명령어 사용 `svn blame` 명령어는 파일의 각 줄이 언제, 누구에 의해 수정되었는지를 표시합니다.
이를 통해 특정 변경과 관련된 커밋 정보를 직접 확인할 수 있습니다.
```bash svn blame [파일 경로] ```
5. GUI 도구 사용 GUI 기반의 SVN 클라이언트를 사용하면 변경 세부 사항을 보다 직관적으로 검색할 수 있습니다.
예를 들어, TortoiseSVN, SmartSVN 등의 도구는 로그 뷰어 및 diff 도구를 제공하여 사용자가 쉽게 변경 사항을 시각적으로 확인할 수 있도록 합니다.
요약 SVN에서 변경 세부 사항을 검색하는 방법은 여러 가지가 있으며, 명령 줄 도구 및 GUI 도구 모두 유용하게 사용될 수 있습니다.
필요한 정보를 신속하게 찾기 위해 다양한 명령어를 활용해보세요.
작성자:
이준호 [비회원]
| 작성일자: 1년 전
2025-03-21 15:51:22
조회수: 435 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 435 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.