Subversion을 통해 Git 및 Mercurial에 대한 과대 광고가 무엇인지 말해 줄 수 있습니까?간단히 말해, git와 mercurial의 전복에 비해 어떤 이점이 있습니까?
답변
힘과 습관은 distributed이고 SVN은 없습니다.
이점이나 없습니까? 당신은 결정합니다 ...
다양한 소스 제어 시스템에 대한 비교는 http://whygitisbetterthanx.com/에서 찾을 수 있습니다. git에 대해 가장 좋아하는 것은 다음과 같습니다.
- 더 빠릅니다.
- SVN이 .svn 하위 디렉토리와 같은 소스 코드를 복제하지 않습니다.
- 오프라인으로 커밋 한 다음 밀어 넣을 수 있습니다.
그 중 하나는 정말 Subversion에 관한 버그입니다 - 모든 저주받은 .svn 디렉토리 방법! –
소스 코드가 중복되지 않습니까? 나는 당신이 그 말을 바꿀 수 있다고 생각합니다. – hasen
아직 보지 않았다면 다음 사이트를 방문하십시오 : http://whyhgisbetterthanx.com/ –
이것은 GIT의 Mercurial 등이 Subversion이나 CVS와는 다른 방식으로 작업 할 수있게 해줍니다. Subversion과 CVS는 중앙 집중식 저장소 구조만을 제공하고 나머지는 "배포"합니다. 분산 된 방식을 사용하면 개발자 간의 임시 협업이 쉬워지고 자신의 컴퓨터에서 변경 그룹을 관리하는 방법에 영향을 미칠 수 있습니다.
귀하에게 가장 적합한 방법은 귀하 또는 귀하의 조직에서 결정해야 할 사항입니다. 나를 위해
하나 개 중요한 것은 : SVN 정말 태그를 지원하지 않습니다
- 태그 상징적 없습니다. repo (COW 복사본)의 경로입니다.
- SVN에서 파일은 태그에 속합니다 (태그는 파일의 복사본이기 때문에). 다른 시스템과 인간의 직감 : 태그는 파일에 속합니다. 그것은 타당한 관계입니다.
- 따라서 "파일에있는 모든 태그"와 같은 것을 나열하는 것은 어렵습니다. 이 정보는 SVN 저장소에 직접 저장되지 않습니다.
Git이가는 한, 내 생각에 가장 큰 Git의 고급 분기 및 병합 지원이 있습니다. 힘내라는 것은 정말 쉽고, 분기하기 쉽고, 변경 사항을 병합하는 기능은 SVN보다 훨씬 낫다. gitk
과 같은 도구를 사용하면 Git 저장소의 분기 간 관계를 시각화하는 것이 정말 쉽습니다.
다른 많은 이점이 있습니다. Git은 더 나은 도구와 더 나은 툴체인을 가지고 있으며 중앙 repo가 필요 없다는 사실을 생각하면 과 작은 프로젝트를 스스로 작업 할 때 "체크 아웃"된 repo가 좋다. 하지만 병합과 분기가 가장 큰 이점이라고 생각합니다.
(I는 "분기"로컬 복제에 대한 의욕의 강조를 좋아 한 적이 있지만 그의 많은뿐만 아니라, 의욕에 간다;. 나는 거의 같은 REPO의 모든 지점을 유지 망할 놈의 방법을 선호)
선형중앙 VCS, 브랜치와 태그가 같은 (선형 역사 점) 위치 :
-
Git and CleaCase
- 힘내 : DAG는 (Directed Acyclic Graph) 그래프의 모든 경로가 분기이다 VCS를 분산, 모든 작업은 전체 저장소이다.
(see my post on those "VCS core concepts") 사이 SVN보다 더 힘내와 SVN 사이에 "차이"의 동일한 범위가 있습니다.
망할 놈의 콘텐츠 중심이기 때문에,에 의해 파괴보다 훨씬 더 효율적으로 병합합니다 :
- 이 바로 패치
Subversion에 비해 이러한 기능이 가장 중요합니다. Mercurial은 같은 방식으로 작동합니다 (기록은 DAG, 모든 복제본에는 전체 기록이 있습니다). –
나를 위해, svn 잘 작동합니다. 경험에 따라 1 - 10 명의 개발자 용.
'실제'버전이 중복 호스트의 클라우드에 어디에 있는지 분명합니다 (데이터 및 가동 시간을 고려한 일부 장소). git에 대해 읽는 것이 더 복잡하고 크고 유능한 것 같습니다. 따라서 작업량이 적은 등 'svn 중앙 집중식'워크 플로우 (http://whygitisbetterthanx.com/ 사이트 참조)를 원하면 svn을 사용하십시오.
모든 재미가있는 곳이 분명 할 때까지 CVS를 사용했습니다. 나는 몇 년 후에, 내가 다시 변화한다면, 그것은 자식이 될 것인가? 하지만 실제로 - 설정 한 날이 아닌 다른 날에 버전 제어 시스템을 사용하는 경우 잘못된 작업을 수행하고있는 것입니다.
개인 프로젝트가 있다고 가정하면 버전 관리를 받겠습니까? (나는 네가 그렇다고 말하기를 희망한다.)
그렇다면 간단하지 않습니까? 힘내네 당신이 서버 또는 아무것도 그런 설정을 요구하지 않습니다. 작업 디렉토리가 저장소입니다.
새로운 미친 아이디어를 원하십니까? 해당 지점에서 분기하고 실험하십시오. 성공하면 주 분기로 돌아가서 병합하십시오. 아이디어가 잘 풀리지 않으면, 메인 브랜치로 돌아가 crazy_idea 브랜치를 지우십시오.
crazy_idea에서 작업하고 싶지만 마스터 분기를 계속 정상적으로 개발하고 싶습니까? 다시 말하지만, 아무런 문제가 없습니다. 분기 간을 앞뒤로 전환 할 수 있으며, 충분히 성숙한 후에 만 crazy_idea를 병합 할 수 있습니다.
팀에 속하더라도 각 개발자 (또는 소수의 개발자 그룹)는 나머지 코드와 병합하기 전에 실험 분기에서 어떤 아이디어로 작업 할 수 있습니다.
나는 그것이 오픈 소스를 더욱 쉽게 만든다고 생각한다. 모든 사용자에게 액세스 권한을 부여 할 필요는 없습니다. 누군가 훌륭한 기능을 구현했다면, 그는 당신에게 그를 끌어 내려달라고 요청할 수 있습니다. 보고있는 것을 좋아하면 병합 할 수 있습니다.
놀랍지 : 자식은 svn보다 훨씬 간단합니다.
정말. 나는 항상 버전 제어에 대해 들었지만 결코하지 않았다. 내 svn 서버 아래에 내 코드를 넣으려고 할 때, 그것은 악몽이었다; 나는 정말로 그것을 싫어했다.
이제 모든 것을 git에 넣었습니다.
나는 Mercurial에도 불구하고 같은 경험을했다. Subversion은 개념적으로 CVS보다 깔끔하고 우수한 시스템입니다. Mercurial은 더욱 간단하면서도 강력한 성능을 제공합니다. 중앙 서버를 구성 할 필요없이 필요할 때 바로 저장소를 만들 수 있습니다. –
그들은 개념적으로 코드를 쉽게 분기/병합 할 수있는 변경 집합으로 구성합니다. SVN에 브랜치를 병합하는 것은 대단히 고통스런 경험입니다.
- 1. VARCHAR에 비해 CHAR를 사용하면 어떤 이점이 있습니까?
- 2. Attach to Process에 비해 System.Diagnostics.Debugger.Break()를 사용하면 어떤 이점이 있습니까?
- 3. 문서 기반 데이터베이스는 관계형 데이터베이스에 비해 어떤 이점이 있습니까?
- 4. Vaadin에서는 VerticalContainer보다 Panel을 사용하면 어떤 이점이 있습니까?
- 5. 누군가 셰어가 어떻게 작동하는지 간단히 말해 줄 수 있습니까?
- 6. MSBuild를 사용하면 어떤 이점이 있습니까?
- 7. sessionStorage를 사용하면 어떤 이점이 있습니까?
- 8. WCF를 사용하면 어떤 이점이 있습니까?
- 9. Subversion을 사용하면 어떤 이점이 있습니까?
- 10. 롱 폴링은 PHP에서 어떤 이점이 있습니까?
- 11. Composite 패턴을 사용하면 Array에서만 어떤 이점이 있습니까?
- 12. Ruby on Rails에 비해 APEX (salesforce.com/database.com) 이점이 있습니까?
- 13. var를 사용하면 C#의 명시 적 유형에 비해 어떤 이점이 있습니까?
- 14. 전략 패턴을 사용할 때 어떤 이점이 있습니까?
- 15. ORM에서 == 연산자를 재정의하는 데 어떤 이점이 있습니까?
- 16. Tomcat에서 APR을 사용하면 어떤 이점이 있습니까?
- 17. 인터페이스에서만 @Deprecated 표기법을 사용하면 어떤 이점이 있습니까?
- 18. SQL DataContext에 LINQ를 삭제하면 어떤 이점이 있습니까?
- 19. 오라클을 동일한 HDD에 파티셔닝하면 어떤 이점이 있습니까?
- 20. C#을 통해 Java에 어떤 이점이 있습니까?
- 21. Mongo에서 상속을 사용하면 어떤 이점이 있습니까?
- 22. PHP에 java bridge를 사용하면 어떤 이점이 있습니까?
- 23. 여기에 varchar보다 varbinary를 사용하면 어떤 이점이 있습니까?
- 24. Python VirtualBox API를 사용하면 어떤 이점이 있습니까?
- 25. 오라클에 비동기식으로 삽입하면 어떤 이점이 있습니까?
- 26. 내부적으로 속성을 사용하면 어떤 이점이 있습니까?
- 27. Apache FOP보다 Antennahouse를 사용하면 어떤 이점이 있습니까?
- 28. C#에서 인터페이스를 사용하면 어떤 이점이 있습니까?
- 29. AND 또는 &&를 사용하면 어떤 이점이 있습니까?
- 30. 메서드 시그니처에 제네릭을 사용하면 어떤 이점이 있습니까?
dupe of http : // stackoverflow.com/questions/871/why-is-git-subversion보다 많은 다른 사람들 –
아마도 중앙 집중식 버전 제어에 비해 분산 버전 제어를 논의하기 위해 질문과 제목을 다시 작성하십시오. – Kekoa
@kekoav :이 질문과 유사 : http://stackoverflow.com/questions/26845/do-you-use-distributed-version-control –