IT Share you

svn : 로컬 커밋

shareyou 2020. 12. 4. 21:26
반응형

svn : 로컬 커밋


Subversion : 로컬 리비전을 푸시하지 않고 커밋하고 나중에 푸시 할 수 있습니까? 아니면이 기능이 없기 때문에 "중앙화"라고 불리는 이유는 무엇입니까?


Subversion에서는 로컬 커밋을 수행 할 수 없습니다.

이는 중앙 집중식 버전 제어 시스템으로서 로컬 작업 복사본에 DVCS (분산 버전 제어 시스템) 인 경우 보유했을 과거 개정, 로그 항목 등에 대한 서버의 모든 정보가 없기 때문입니다.

Subversion 작업 복사본에는 체크 아웃 된 모든 파일의 복사본이 포함되어 있으므로 서버에 연결하지 않고도 변경된 파일을 되돌릴 수 있습니다.

정말로 로컬 커밋을하고 싶다면 Subversion 위에 구축되고 DVCS와 같은 기능을 제공하는 SVK를 살펴 봐야 합니다.


위의 대부분은 다소 쓸모 없게되었고이 질문이 "svn local commit"에 대한 구글 검색에서 히트로 나오기 때문에 여기에 업데이트가 있습니다.

완전한 원격 SVN 통합으로 로컬 커밋을 가능하고 쉽게 만들려면 패키지 "git-svn"(git을 모르는 경우 "git-gui"와 함께 사용)을 고려하십시오. 괜찮은 개요 / 튜토리얼 / 사용 사례는 여기에 있습니다 . 이 프로세스를 Sourceforge 프로젝트와 함께 사용하기 시작 했으므로 아직 문제를보고 할 수 없습니다. Authors 파일이 올바른지 확인하십시오!

편집 : 업데이트 된 링크. 고마워, hdl!


SVN 서버를 GIT 또는 Mercurial Bridge와 인터페이스하면 이러한 작업을 수행 할 수 있습니다. GIT와 Mercurial은 로컬 커밋을 수행 할 수 있으므로 그렇게 사용할 수 있습니다. 아마도 git-svn 또는 비슷한 것을 확인하십시오 (나는 bazaar-svn이 있다는 것을 기억하지만 확실하지 않습니다).


이것이 중앙 집중식이라고 불리는 이유입니다. repo 내부에서 repo를 사용해 볼 수 있습니다. 하나는 로컬이고 다른 하나는 원격입니다. 그런 다음 전체 내부 저장소를 원격으로 커밋합니다.


다른 사람들이 말했듯이, 아닙니다.

나는 것 강하게 SVN에 원격으로는 janky 아무것도를 사용하려고 시도하는 것이 좋습니다.

나는 그것에 대해 추천 할만큼 SVK를 사용하지 않았다. 그것은 충분히 좋은 것 같았다. 그러나 나는 전체 프로젝트를 위해 SVN 위에 구축 된 모든 것을 중단없이 사용하는 것에 회의적입니다. 나는 당신이 조심하지 않으면 규칙적인 작업주기조차도 그것을 토스트 할 수 있다는 것을 알만큼 충분히 SVN을 사용했습니다.

우리는 직장에서 SVN을 사용합니다. 나는 bzr 및 bzr-svn을 사용하여 모든 상호 작용을 수행했으며 훌륭하게 작동합니다 . 내 워크 플로는 다음과 같습니다.

$ bzr branch file:///var/svn/project ~/project

(해킹, 해킹, 해킹)

$ bzr commit -m "commit log" (반복)

내가 준비되면

$ bzr push

예, 업데이트하는 대신 $ bzr merge변경 사항 을 적용 하고 커밋하지만 (작업중인 작업을 보류 할 수 있음) 로컬 커밋은 매우 좋은 것이고 선반 도 마찬가지입니다 (선반은 저장으로 되돌리기같습니다 ).

나는 git도 이것을 처리한다고 생각한다. 나는 그것이 bzr-svn만큼 완전하지 않다고 들었지만 그것을 확증 할 수는 없습니다.

그러나 svn 저장소와 함께 DVCS를 사용하는 것은 좋은 방법입니다!


BobC의 대답에 더하여 수은의 경우 hgsubversion.


아니! 그러나 git은이를 수행 할 수 있으며 git-svn을 사용하여 원래 저장소와 동기화 상태를 유지할 수 있습니다.


두 세계를 최대한 활용하기 위해 SVK 는 Subversion 위에 구축되었지만 로컬 상태를 유지하여 로컬 커밋을 수행 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/1081058/svn-local-commits

반응형