답변:
추가 세부 사항은 SVNBook : "작업 사본 파일 및 디렉토리의 상태"를 참조하십시오 .
일반적인 상태 :
U : 작업 파일이 업데이트되었습니다
G : 리포지토리의 변경 사항이 작업 복사본에 자동으로 병합되었습니다.
M : 워킹 카피 수정
C :이 파일은 저장소의 버전과 충돌합니다.
? :이 파일은 버전 관리 대상이 아닙니다
! :이 파일은 버전 관리하에 있지만 누락되었거나 불완전합니다
A :이 파일은 버전 관리에 추가됩니다 (커밋 후)
A + :이 파일은 (커밋 후) 이동합니다
D :이 파일은 커밋 후 삭제됩니다.
S : 파일 또는 디렉토리가 나머지 작업 사본의 경로 (svn 스위치 사용)에서 분기로 전환되었음을 나타냅니다.
나는 : 무시
X : 외부 정의
~ : 타입 변경
R : 작업 사본에서 아이템이 교체되었습니다. 이는 파일이 삭제되도록 예약 된 다음 같은 이름을 가진 새 파일이 추가되도록 예약되었음을 의미합니다.
L : 항목이 잠겨 있습니다
E : svn 업데이트에 의해 생성 된 항목이 존재합니다.
"G"상태에 대해 말하고 싶습니다
G : 리포지토리의 변경 사항이 작업 복사본에 자동으로 병합되었습니다.
위의 정의가 명확하지 않다고 생각합니다. 모든 파일이 자동으로 작업 사본에 병합되기 때문에 약간 혼란을 일으킬 수 있습니다. 올바른 파일은 다음과 같아야합니다.
U = 저장소 버전으로 업데이트 된 항목 (U)
G = 저장소와 함께 상품의 로컬 변경 사항 mer (G)
C = 저장소와 충돌 한 항목의 로컬 변경 사항 (C)
D = 작업 사본에서 제외 된 항목 (D)
A = 작업 사본에 추가 된 항목 (A)
나는 보통 IDE 또는 클라이언트 GUI를 통해 svn을 사용합니다. 그 때문에 명령 줄에 의존해야 할 때 코드를 기억할 수 없습니다.
이 치트 시트가 큰 도움이된다고 생각합니다 : Subversion Cheat Sheet
$ svn status
L index.html
명령의 출력은 6 개의 열로 분할되지만 때로는 열이 비어 있기 때문에 명확하지 않습니다. 아마도 비어있는 열 ls -l
을 아무것도 대신하는 대신 대시로 표시하는 것이 더 합리적 일 것입니다. 예를 들어, L index.html
다음과 같이 보입니다 --L--- index.html
. 세 번째 열에는 잠금에 대한 정보 만 있습니다. 어쨌든 일단 더 이해하기 시작하면 알 수 있습니다.
첫 번째 열은 항목이 추가, 삭제 또는 변경되었음을 나타냅니다.
수정 사항이 없습니다.
A
항목이 추가 예정입니다.
D
항목 삭제가 예정되어 있습니다.
M
아이템이 수정되었습니다.
R
작업 복사본에서 항목이 교체되었습니다. 이는 파일이 삭제되도록 예약 된 다음 동일한 이름을 가진 새 파일이 추가되도록 예약되었음을 의미합니다.
C
항목의 내용 (등록 정보와 반대)이 저장소에서받은 업데이트와 충돌합니다.
X
항목이 외부 정의와 관련되어 있습니다.
I
항목이 무시됩니다 (예 : svn : ignore 속성 사용).
?
버전 관리 대상이 아닙니다.
!
항목이 없습니다 (예 : svn을 사용하지 않고 이동 또는 삭제). 또한 디렉토리가 불완전하다는 것을 나타냅니다 (체크 아웃 또는 업데이트가 중단됨).
~
항목은 한 종류의 객체 (파일, 디렉토리, 링크)로 버전 화되었지만 다른 종류의 객체로 대체되었습니다.
두 번째 열은 파일 또는 디렉토리 속성의 상태를 나타냅니다.
수정 사항이 없습니다.
M
이 아이템의 속성이 수정되었습니다.
C
이 항목의 속성이 리포지토리에서받은 속성 업데이트와 충돌합니다.
세 번째 열은 작업중인 복사 디렉토리가 잠겨있는 경우에만 채워집니다 (svn 정리는 일반적으로이를 지우는 데 충분해야 함)
항목이 잠겨 있지 않습니다.
L
항목이 잠겨 있습니다.
네 번째 열은 항목이 내역 추가를 위해 예약 된 경우에만 채워집니다.
커밋으로 예약 된 기록이 없습니다.
+
커밋으로 예약 된 기록.
다섯 번째 열은 항목의 작업 복사본이 부모를 기준으로 전환 된 경우에만 채워집니다
항목은 부모 디렉토리의 자식입니다.
S
항목이 전환되었습니다.
여섯 번째 열은 잠금 정보로 채워집니다.
–show-updates를 사용하면 파일이 잠기지 않습니다. –show-updates를 사용하지 않으면 파일이이 작업 복사본에 잠겨 있지 않은 것입니다.
K
이 작업 복사본에 파일이 잠겨 있습니다.
O
파일이 다른 사용자 나 다른 작업 사본에 의해 잠겨 있습니다. –show-updates가 사용될 때만 나타납니다.
T
이 작업 복사본에서 파일이 잠겼지만 잠금이 도난되어 유효하지 않습니다. 파일이 현재 저장소에 잠겨 있습니다. –show-updates가 사용 된 경우에만 나타납니다.
B
이 작업 사본에서 파일이 잠겨 있지만 잠금이 해제되어 유효하지 않습니다. 파일이 더 이상 잠기지 않음 –show-updates를 사용할 때만 나타납니다.
오래된 정보는 일곱 번째 열에 나타납니다 (–show-updates 스위치를 통과 한 경우에만). 이것은 SVN을 처음 접하는 사람들이 명령이 기대하는 것입니다. 파일의 현재 상태와 마지막 업데이트시 서버에서 가져온 정보를 비교할뿐입니다.
작업중인 사본의 항목이 최신입니다.
*
서버에 항목의 최신 개정판이 있습니다.
Subversion Book 참조 : "작업 사본 파일 및 디렉토리의 상태"를 살펴보십시오.
SVN으로 거의 모든 일을하는 사람에게 적극 권장됩니다.
설명서 ( SVNBook )에 액세스 할 수 없을 때마다 (Linux)를 입력하십시오.
svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'
~ / .bashrc 파일에 다음 함수를 삽입하십시오.
svncode() {
symbol=$1
[ $symbol ] && svn help status | grep \'$(echo $symbol)\' || \
echo "usage: svncode <symbol>"
}