문제

웹 프로젝트의 버전 및 소스 제어를 구현하는 방법에 대한 좋은 제안을 찾고 있습니다.

Subversion을 살펴봤지만 코드만 관리하는 것 같습니다.저는 정말로 버전 관리, 분기, 보관 등을 잘 수행할 수 있는 것을 찾고 있습니다.소스 코드뿐만 아니라 아트 파일, 동영상 클립, 심지어 데이터베이스 백업과 같은 기타 웹 자산도 포함됩니다.

우리는 Mac/PC가 혼합된 환경에서 작업하므로 Visual Source Safe 또는 순전히 PC 기반인 것은 사용할 수 없습니다.도움이 필요하세요?

도움이 되었습니까?

해결책

내가 사용한 모든 소스 제어 시스템(CVS, Subversion, git)은 텍스트뿐만 아니라 바이너리 파일도 처리합니다.버전 제어 경험이 제한된 디자이너와 작업하는 경우 현재 Subversion은 더 나은 GUI를 선택할 수 있습니다.PC에서는 대체할 수 있는 것이 없습니다. 거북이SVN, Mac에 대해서는 좋은 소식을 들었습니다. 버전.

다른 팁

버전 관리, 분기, 보관 등을 할 수 없다고 생각하는 이유는 무엇입니까?Subversion이 포함된 그래픽 파일이 있습니까?

나는 그래픽을 포함하는 내 프로그램에 Subversion을 사용했는데, 그것들을 잘 처리하는 것 같습니다.(글쎄, diffing이 문제인데, 좋은 image diffing 프로그램을 들어본 적이 없습니다.)

Subversion에는 모든 유형의 파일을 추가할 수 있습니다.바이너리 파일인 경우 저장된 버전은 단순한 복사본인 반면 텍스트 파일은 차이점만 저장됩니다.그러나 다른 유형의 파일을 Subversion에 저장하는 것은 완벽합니다.

셸 추가 기능(Windows의 Tortoise)을 사용하면 이 작업이 상당히 쉬워집니다.저는 Mac 클라이언트에 대한 경험이 없지만 거기에 선택의 여지가 있을 것이라고 생각합니다.

다른 사람들은 Subversion과 그 동족이 바이너리 파일을 처리하는 데 아무런 문제가 없다고 지적했습니다(비록 텍스트만큼 공간 효율적이지는 않지만).그러나 데이터베이스 백업 요구 사항은 더 흥미롭고 여러 번 직면한 요구 사항입니다.

이상적으로는 두 버전의 데이터베이스(스키마와 데이터) 간의 차이점을 텍스트로 표현하고 싶습니다.이러한 차이점을 적용하면 한 버전에서 다음 버전으로 이동하게 됩니다.소스 제어 엔진은 각 커밋마다 이를 저장할 수 있습니다.Rails 마이그레이션은 스키마 차이점을 처리하는 멋진 방법이지만 간단한 텍스트 형식으로 전체 스키마 및 데이터 차이점을 처리할 수 있는 방법은 본 적이 없습니다.

실패하면 다음과 같은 텍스트 데이터베이스 덤프를 체크인할 수 있을 것 같습니다. mysqldump MySQL용 명령이 생성됩니다.소스 제어 도구의 diff 알고리즘은 이를 효율적으로 처리하지 못할 수도 있지만 불투명한 이진 데이터베이스 파일을 체크인하는 것보다 공간이 덜 필요할 수 있습니다.

저는 여전히 Subversion을 사용하고 있으며 Windows에서는 이미지 파일 간의 차이점을 확인하기 위해 특별히 TortoiseIDiff가 포함된 TortoiseSVN을 사용합니다.

나는 사용해왔다 자식 몇 주 동안 꽤 좋아하게 되었습니다.이는 크로스 플랫폼이며 충돌을 매우 잘 관리하고 모든 사람에게 자신의 완전한 버전 저장소를 제공하므로 네트워크에 연결되지 않은 경우에도 변경 사항을 확인할 수 있습니다.

이제 Ruby on Rails를 포함하여 많은 유명 프로젝트에서 git을 사용하고 있습니다.

Subversion은 Mac OS X용으로 사전 컴파일된 바이너리.통해서도 가능해요 MacPort 그리고 핑크.몇 가지 훌륭한 인터페이스가 있습니다. 명령줄). svnX 언급한 바와 같이 한동안 사용되어 온 오픈 소스 클라이언트입니다. 버전 현재 베타 버전인 매우 멋진 비공개 소스 클라이언트입니다.당신은 아직도해야 명령줄에 익숙해지기, 이러한 GUI 클라이언트가 해결할 수 없는 문제에 직면하게 되기 때문입니다.

Subversion은 바이너리 파일을 처리합니다. 아주 잘.저는 과거에 웹 프로젝트에 이를 사용했고, 이를 사용한 코드로 이미지와 플래시 파일의 버전을 성공적으로 관리했습니다.

Mac에는 "Tortoise SVN"과 같은 전복 UI인 "Version"이라는 것이 있는데 사용자에게 친숙하고 효과적이라는 것을 알았습니다.

저는 Mac/PC 환경에서도 작업하고 있습니다(예술적인 아이들이군요). 그리고 전복이 정말 좋은 방법입니다.나는 거기에 모든 텍스트, 이미지, 쿼리 및 코드를 보관합니다.

기술 지식이 없는 동료들은 제가 개념을 설명하고 나면 사용하기 쉽다는 것을 알게 되었습니다.

나는 Subversion에게 또 다른 모습을 보여줄 것입니다.지루할 수도 있다는 건 알지만 SVN Book을 읽으면 많은 도움이 될 것입니다.

저는 개인적으로 Mac용 버전을 사용합니다.Subversion 저장소와 상호 작용하기 위한 정말 훌륭한 UI가 있습니다.

내가 하는 일은 사이트 루트에 있는 프로젝트의 /Trunk 디렉터리를 체크아웃하는 것입니다.이렇게 하면 실제 개발 설정으로 작업 복사본을 테스트하고 실행할 수 있습니다.라이브 준비가 되면 repo sans .svn 폴더에서 파일을 내보내고 프로덕션 또는 스테이징 서버에 업로드할 수 있습니다.이것이 Subversion을 사용하여 어떤 종류의 작업 흐름을 가질 수 있는지에 대한 아이디어를 제공하기를 바랍니다.

나는 svn이 훌륭한 선택이라고 생각합니다. 일부 사용자는 git을 사용하여 로컬 분기를 수행할 수도 있습니다.저는 Mac에서 Eclipse를 실행하므로 git, svn 명령줄 및 Subversive(svn용 Eclipse 플러그인)를 조합하여 사용합니다.다음은 mac svn 클라이언트 목록입니다(대부분은 크로스 플랫폼입니다).

http://scplugin.tigris.org/ TortoiseSVN과 비슷하지만 기능이 풍부하지는 않음)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (무료는 아님 $59)
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

데이터베이스에서 소스 제어를 사용하려면 아마도 스키마와 데이터의 텍스트 기반 표현을 생성해야 할 것입니다.하루에 한 번씩 이 작업을 자동으로 실행하고 변경 사항을 저장소에 커밋해야 합니다.

DBMS는 일부 작업을 보다 효율적으로 만들기 위해 데이터베이스의 행 순서를 변경할 수 있습니다.이로 인해 실제로는 다른 데이터가 없어도 서로 다르게 보이는 두 개의 덤프가 발생할 수 있습니다.데이터 덤프를 생성하는 모든 항목이 각 테이블의 기본 키를 기준으로 정렬하고 테이블 집합이 정의된 순서로 정렬되어 있는지 확인하여 2 덤프 비교 시 표시되는 변경 사항이 중요한 변경 사항일 뿐입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top