2010-03-22 2 views
2

저는 저를 포함하여 2-3 명이 함께 일하는 웹 개발자입니다. 우리의 현재 설정은 매우 단순합니다. 우리는 특정 파일을 작업 할 때 서로 알려주려고합니다. FTP를 사용하여 파일을 편집합니다.여러 개발자가 파일을 체크인/체크 아웃하는 방법

최근에 우리는 2 명이 실수로 한 파일을 편집하거나 다른 사람이 똑같이했을 때 업로드 한 로컬 파일에서 작업하는 문제에 봉착했습니다.

필자가 읽은 것에서는 일종의 제어 시스템이 필요합니다. 나는 전복과 수은에 대해 들었다. 이 시스템은 필자가 필요로하지 않을 것 같습니다. 파일의 다른 버전을 제공하고 있기 때문입니다. 두 사람이 파일 작업을하고 서로의 작업을 덮어 쓰는 문제가 해결되는지는 모르겠습니다.

내 문제를 해결하기위한 제안은 무엇입니까?

편집 1 : Subversion을 사용할 수있는 플러그인이있는 Netbeans와 통합하고 싶습니다.

편집 2 : 일반적인 웹 호스팅으로이 작업을 수행 할 수 있습니까? (랙 스페이스 클라우드 사이트 호스팅 사용). 집에 서버를 설치하여 저장소로 설정할 수 있다고 생각합니다. (Windows server 2007 실행)

+0

retag : 이것은 실제로 PHP 나 넷빈즈가 없습니다. – vkraemer

답변

13

버전 제어 시스템 (VCS)은 사용자가 필요로하는 것입니다. 개발자는 소스 제어에서 파일을 처리하고 변경 사항이 시스템에 다시 체크인되면 다른 사람이 동일한 파일을 변경 한 경우 시스템은 두 세트의 변경 사항을 병합합니다 (때로는 사용자는 이전 변경 사항 집합을 단순히 잃어 버리는 대신에) 필요할 것입니다.

정기적으로 웹 사이트를 VCS 저장소에서 업데이트 할 수 있습니다.

3 명 정도의 개발자로 구성된 팀을 통해 거의 모든 VCS를 올바르게 작동시켜야합니다. Mercurial에 대한 좋은 소식을 들었습니다. (아직 사용하지는 않았지만 이번 달에 사용해 볼 예정입니다.) Subversion은 정말 훌륭합니다.

하지만 내가 선택한 것은 아무 것도 사용하지 않는 것보다 큰 개선이라고 생각됩니다.

+2

+1 Windows를 사용하면서 빠르고 쉬운 시작을 원한다면 서버의 경우 visualsvn.com을, 클라이언트의 경우 tortoiseSVN.net을 살펴보십시오. 바이런의 대답에 링크되어있는 전복 책은 아주 좋은 독서이며 참고할 만하다. 주변에는 더 쉽게 소화 가능한 자습서가 있습니다. –

+1

에릭 싱크 (Eric Sink)의 소스 컨트롤 하우투 (http://www.ericsink.com/scm/source_control.html)도 버전 관리 소프트웨어를 판매하는 회사를 운영하고 있음에도 불구하고 매우 훌륭한 소개 및 편견이 없습니다. –

+0

그리고 Mercurial 사용에 대한 소개는 http://hginit.com/을보십시오. – AnonJr

1

예 문제는 해결됩니다. 자세한 내용은 svn book을 참조하십시오. 어떻게 시스템이 정보를 공유 사용자를 허용하지만, 실수로 각 의 다른 발에 스테핑에서 그들에게 을 방지 :

모든 버전 제어 시스템은 동일한 근본적인 문제를 해결 에 있나요? 사용자가 저장소에있는 다른 사람의 변경 사항을 우연히 덮어 쓰는 것은 너무 쉽습니다 ( ).

+0

독점 액세스가 필요한 경우 svn-needs-lock (http://svnbook.red-bean.com/en/1.2/svn. advanced.locking.html)은 특히 바이너리 파일을 공유하는 경우 유용 할 수 있습니다. – spender

2

Subversion은 모든 파일의 중앙 저장소 역할을하며 파일 충돌을 처리합니다.

두 명의 회원이 같은 파일에서 작업 중이고 Subversion 저장소에서 파일을 업데이트 할 때 충돌에 대해 알리는 오류가 표시되고 두 파일 간의 차이점을 비교할 수도 있습니다.

1

Subversion은 분산 개발에 적합합니다.

각 개발자는 자신의 복사본으로 작업하고 변경 사항을 확인합니다. 모든 변경 사항은 되돌릴 수 있습니다.

주로 파일 잠금으로 작동하는 소스 제어 시스템에서 멀리 떨어져 있으면 "체크 아웃"됩니다. SVN의 기본 모드는 잠금이 없으면 변경 사항을 병합하고 충돌이 발생할 때만 처리합니다.

Subversion은 기본적으로 지원되며, Windows 탐색기 플러그인으로 TortoiseSVN (http://svn.tigris.org)을 지원합니다.

1

이 문제를 해결하는 또 다른 문제는 실수로 파일을 잘못 편집하여 이전 버전으로 되돌리려한다는 것입니다. Subversion은 여러 파일에 대해 변경 집합 (코드 버전을 구성하는 변경 집합)으로 작동합니다.

비슷한 상황 (zip 파일을 "잠그는"배치 파일로 네트워크 공유의 .zip 파일)을 보았습니다. 재미없고 확실히 모든 종류의 오류가 발생하기 쉽습니다. http://svnbook.red-bean.com/

2

예, 당신은 확실히 소스 컨트롤의 일종에 도착해야합니다

는 서브 버전에 괜찮은 무료 책 여기를 보라. 여러 개발자의 변경 사항을 조정하는 것 외에도 소프트웨어의 이전 버전으로 롤백 할 수 있습니다. 아이디어를 통해 기회를 놓치지 않고 항상 덤프하고 이전 버전으로 돌아갈 수 있다는 것을 알게됩니다. 또한 다음 버전을 개발할 때 버그 보고서를 추적하는 데 매우 중요합니다. 목록은 계속되지만, 일단 소스 컨트롤의 가치를 깨닫게되면, 소스 컨트롤없이 코드를 작성하는 것을 결코 망설이지 않을 것입니다.

Subversion은 매우 유명하지만 http://hginit.com/으로 건너 뛰고 Joel Spoelsky의 Mercurial 소개를 읽어 보시기 바랍니다. 그가 즉시 판매하지 않았다고 말하지만, 튜토리얼을 통해 읽는다면, 사람들을 배포 할 때 특별히 다루는 것이 더 좋은 방법 일 것입니다.

1

예, 버전 관리 시스템이 필요하지만 VCS는 필요하지 않습니다. 분산 버전 제어 시스템이 필요하다고 생각합니다. 우리 회사에서 우리는 오랫동안 SVN을 사용하는 곳 (당신과 같은 작은 개발 팀) 이었지만 결코 그렇게 행복하지 않았습니다. 몇 달 전에 모든 저장소를 GIT으로 마이그레이션하고 모든 프로젝트 관리 및 저장소 호스팅을 codebase으로 마이그레이션했습니다. 저장소 관리 때문에 마이그레이션에 매우 만족하며 모든 것이 훨씬 간단하고 간단합니다.

무료 Progit Book을 확인하여 Git에 대한 훌륭한 소개를 확인하십시오.

관련 문제