svn에`revert-all` 명령이 있습니까?


159

모든 변경 사항을 버리고 리포지토리에있는 코드로 돌아가려면 다음을 수행하십시오.

$ rm -fr *
$ svn up

이것은 충분히 쉽지만, 이것을 달성 할 단일 명령이 있는지 궁금합니다.

$ svn revert-all

누가 -rf 대신 -fr을 사용합니까? 그것이 rimfer가 아니라 rimraf로 발음 된 이유가 있습니다.
Jimmy Hoffa

@JimmyHoffa 이유가 무엇입니까?
Eric Wilson

3
컨벤션의 윌슨! 컨벤션, 선생님! 우리는 규율과 문화적 전통이 없으면 야만적입니다! 좋은 하루 되세요!
Jimmy Hoffa

답변:


306

당신은 할 수 있습니다 :

svn revert -R .

버전 관리 대상이 아닌 새 파일은 삭제되지 않습니다. 그러나 다음과 같이 쉘 스크립트를 쉽게 작성할 수 있습니다.

for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done

2
SO에 오신 것을 환영하며, svn revert -R내가 준 두 명령과 동일하지 않으므로 철저한 답변을 보내 주셔서 감사합니다 .
Eric Wilson

1
하지 Windows 명령 줄에서 버전 관리 아래에있는 모든 파일을 제거하기 위해, 대답은 여기에 있습니다 : stackoverflow.com/a/1502365/1385429
크리스티안 Westerbeek

사용자 mashzo 는 (지금 삭제 된 답변으로) 모든 변경 사항 -R을 버리는 과정에서 버전이없는 디렉토리도 삭제되도록 플래그가 필요할 수 있다고 지적했습니다 . 적절하다고 생각되는 경우 이것을 귀하의 답변에 포함시키는 것을 고려하십시오.
Jeremy Banks

27

명령이 있습니다

svn revert -R .

또는
--depth = infinity를 사용할 수 있습니다. 실제로는 위와 같습니다.

svn revert --depth=infinity 

svn revert전체 목적은 데이터, 즉 커밋되지 않은 변경 사항을 버리는 것이므로 본질적으로 위험합니다. 되 돌린 후에 Subversion은 커밋되지 않은 변경 사항을 되돌릴 수있는 방법을 제공하지 않습니다.


7
-R에 해당합니다--depth=infinity
마이클 버

4
cmd "svn revert -R"에 구문에 현재 디렉토리가 없습니다. "svn revert -R"이어야합니다.
boddhisattva

현재 포스트 사운드 -R--depth-infinity그렇지 않은 경우 상호 배타적 입니다.
ahnbizcad

@ahnbizcad 어쨌든 그 두 가지 동의어가 아닌가요?
Nyerguds

그게 내 요점이야 이 대답은 그렇지 않을 때 두 소리를 다르게 만듭니다. "상호 배타적"= 동의어의 반대
ahnbizcad


0

수정 된 파일을 되돌리려면

sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'

형식 변경이 원하는 것을 나타냅니다. 마음에 들지 않으면 롤백하십시오. 고마워, SVN의 나쁜 옛날을 기억하는 것이 좋습니다 ... :)
Eric Wilson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.