프로그래머가 아닌 개발자 (예 : 디자이너)가 버전 제어를 사용하도록하는 쉬운 방법?


13

개발, 웹 개발 또는 기타 방법으로 팀이 버전 제어를 사용하게하는 주요 방법은 무엇입니까?

나는 그것 없이는 일을 거부합니다. 즉, 프로젝트에 관련된 모든 사람도 그것을 사용해야합니다. 좋은 습관 일뿐입니다.

Tower와 같은 GUI가 도움이되었지만, 그 개념은 분노 ( '내 직업이 아닙니다!'), 소심함, 또는 사용하지 않는 것 (FTP 대신 대신 사용, 개발자 또는 배포를위한 버전 제어 회피) ).

편집 : 나는 단지 이미지 / PSD를 의미하는 것이 아니라는 것을 분명히 했어야합니다.


11
그것을 확인 EASY를 ... 사용

1
나는 Git이 며칠을 보내고 나면 개발이 어떻게 진행되는지에 대한 합의를 얻었을 때 꽤 쉽다는 것을 알았습니다. 그것은 여전히 ​​다른 사람들에게 더 큰 장애물이었습니다.
케빈

2
기억해야 할 것은 버전 제어와 백업이 때때로 (매우 다르지만) 이진 데이터를 가진 디자이너에게 통합된다는 것입니다. 백업은 이미 표준 일 수 있으므로 자신이 얻고있는 것을 이해해야합니다.
Aaron McIver

1
@ 케빈 (Kevin) : 프로그래머에게 쉽고 분명하고 직관적 인 것은 다른 사람들, 심지어 똑똑하고 창조적 인 다른 사람들에게는 반드시 그런 것이 아닙니다.
David Thornley

1
디자이너와 교류하고 버전 관리에 개인적으로 참여하십시오. :)

답변:


11

개발자와 디자이너로 구성된 팀에서 일하고 있으며 모두 버전 관리를 사용합니다. 디자이너에게는 짜증납니다.

파일 공유 / 백업은 항상 버전 관리와 동일

네가 말할 때:

나는 그것 없이는 일을 거부합니다. 즉, 프로젝트에 관련된 모든 사람도 그것을 사용해야합니다. 좋은 습관 일뿐입니다.

이진 데이터와 함께 버전 관리를 사용하는 경우의 함정을 알고 있어야합니다.

  • 덮어 쓰기 : 두 명의 디자이너가 동일한 파일을 작업하는 경우 커밋 할 두 번째 디자이너는 첫 번째 변경 사항을 현재 버전으로 덮어 씁니다. 이를 방지 할 수있는 유일한 방법은 누가 어떤 파일을 수행하고 있는지에 대한 잠금 또는 지속적인 통신으로 팀의 워크 플로를 방해 할 수 있습니다.
  • 병합 : 도구 지원 병합은 이진 데이터에 존재하지 않습니다. 수동 병합은 고통스럽고 엄청난 양의 오류가 발생하기 쉽습니다.
  • 리포지토리 블로 팅 : VC 시스템은 텍스트 파일에 대해 변경된 행만 저장합니다. 전체 파일이 VC 시스템과 다르게 보일 것이기 때문에 이진 데이터로는 불가능합니다. 즉, 10KB 텍스트 파일의 20 버전은 20KB 만 차지하지만 1MB 파일의 20 버전은 20MB에 가깝습니다. 중간 규모의 디자인 팀은 수십 개의 이진 파일에 대해 많은 수정을 쉽게 생성 할 수 있습니다. IT 부서는 곧 스토리지 요구 사항과 VC 서버의 메모리 / CPU 증가로 인해 당신을 미워할 수 있습니다.

    바이너리 파일을 피하기 위해 매우 좋은 저장소 구성을 설정하지 않으면 체크 아웃 또는 업데이트에 시간이 오래 걸릴 수도 있습니다.

  • 이점 감소 : 1) 과거 버전의 내용을 쉽게 확인할 수있는 방법이 2) 어쨌든 병합 할 수있는 방법이 없기 때문에 설계자는 이전 버전의 이진 파일로 돌아가는 경우가 거의 없습니다. 그런 식으로 작동하지 않습니다. 프로덕션 파일 자체에 여전히 유용한 일부 그래픽의 대체 버전을 작성하는 데 사용됩니다.

코드의 경우 VC를 절대적으로 사용해야하며 요구할 권리가 있습니다.

그러나 모든 사람 이 사용하고 있어야 한다는 가정과 디자이너에게도 좋은 방법인지 여부 (백업이 있음)를 확인해야합니다. 웹 사이트 / 응용 프로그램에 필요한 최종 그래픽 자산을 VC에 저장해야하지만 프로덕션 파일의 경우 올바른 솔루션이 아닐 수 있습니다.


"저장소 팽창"과 관련하여 올바른 파일 형식으로이 문제를 해결할 수 있습니다. 문서 마크 업 언어 형식으로 저장된 문서 와 동등한 이진 형식 대신 그래픽 마크 업 언어 형식으로 저장된 그래픽 이 많은 도움이 될 수 있습니다. 물론 이것의 실행 가능성은 문제의 프로젝트와 관련된 사람들의 의지와 능력에 달려 있습니다. ;)
Baelnorn

5
VCS에서는 덮어 쓰기가 발생하지 않습니다. 결과는 동일한 파일의 두 가지 버전이 있다는 것입니다. 예, 리포지토리의 HEAD는 마지막으로 저장됩니다. 그러나 다른 디자이너의 작업은 공유 하드 드라이브에있는 것처럼 손실되지 않습니다 . 나는 이것이 중요한 차이점이라고 생각합니다.
Berin Loritsch

2
@Berin : 사실이지만, 현대 VCS의 장점 중 하나는 두 사람이 동시에 같은 일을 할 수 있고 많은 조정 작업이 자동이라는 것입니다. 그러나 의미있는 병합 프로세스가없는 이진 파일에서는 불가능합니다. 또한 저장소의 책임자는 사람들이 "실제"라고 생각할 것입니다.
jprete

1
소스 코드 및 디자인 문서의 수명주기가 다르므로 별도의 저장소를 사용해야합니다. 나는 리포지토리가 디자이너를 빨아 먹는다는 데 동의하지 않는다. 대부분의 시간은 문서를 많이 변경하지 않고 생각하고 모델링하는 데 소비됩니다. 또한 저장소에 저장된 모든 파일에서 자동 병합을 허용하지 않으므로 편집시 파일 잠금이 필수입니다. 좋은 팀 커뮤니케이션과 결합하면 언급 한 많은 단점을 예방할 수 있습니다.
rsp

1
예를 들어, 덮어 쓰기 – 버전 관리 문제가 아니라 반대로이를 감지하는 데 도움이됩니다. VC 시스템은 텍스트 파일에 대해 변경된 행만 저장합니다. -자식에 대한 거짓.
maaartinus

4

나는 그것 없이는 일을 거부합니다. 즉, 프로젝트에 관련된 모든 사람도 그것을 사용해야합니다. 좋은 습관 일뿐입니다.

바로 '나의 직업이 아니라'는 훌륭한 태도입니다. :-)

바이 인을 얻는 가장 좋은 방법은 TortoiseGit 또는 TortoiseSVN과 같은 것을 사용하여 버전 제어를 탐색기에 통합하는 것입니다 (Windows 가정). 버전 관리 패러다임에 익숙하지 않은 경우 실제 혜택을 보는 데 시간이 걸립니다. 거북이는 최소한 마우스로 VCS로 작업하기가 쉽습니다. 간단한 "오른쪽 클릭-> 체크인"만으로 충분합니다.

이러한 이유로 TortoiseGit에서 모든 파일을 닫을 때마다 투명한 버전 제어를 구현하려고했습니다. 누군가에게 작업 할 지점을 제공하고 모든 쓰기 / 닫기가 커밋 작업이되면 개발자가 전체 저장소의 일관성에 대해 걱정하지 않고 지점을 병합 할 수 있으며 지점을 병합 할 수 있습니다. 버전 관리에 대해 알 필요없이 업무를 수행하는 비즈니스.

사람들이 버전 관리를 할 수없는 거대한 감사 문서 세트와 동일한 문제가 있으므로, 우리는 같은 문서의 50 버전이 모두 미묘하게 다릅니다.


4

이 문제를 접근하는 방법은이다 설치 빌드 시스템 (같은 허드슨 용도) 빌드 소스를 검색하기 위해 버전 관리 시스템을 만 있고 그것을 프로젝트 규칙을 만들 유물 되는 빌드 시스템에 의해 전달이 테스트 팀에 가고있다 결국 고객 사이트에 배포됩니다.

프로젝트 프로세스와 관련하여 빌드에서 나오지 않는 것은 개발자에게만 해당된다는 점을 분명히하십시오. 누군가의 작업이 빌드에 수용되지 않는 한 존재하지 않을 수도 있습니다.


2

장점을 설명하십시오.

  • 모든 사람이 작업을 공유하고 중앙 위치에 액세스 할 수 있도록하여 시간을 절약 할 수있는 방법을 보여줍니다.
  • 디자이너가 동시에 프로젝트의 다른 부분에서 작업하고 다시 병합하는 방법을 보여줍니다.
  • 테스트 또는 문제 해결을 위해 이전 버전의 애플리케이션에 태그를 지정하고 빌드하는 방법을 보여줍니다.
  • 실험용 디자인으로 엉망이되는 방법을 보여준 다음 프로젝트를 새로 고치고 원하지 않는 변경 사항을 유지하지 마십시오.
  • 시간이 지남에 따라 어떤 일이 일어 났는지 볼 수있는 방법을 보여줍니다.

1
-1 이것은 프로그래머가 아닌 사람들을 참여시키는 것이었다. 목록은 프로그래머를 대상으로 나타납니다. 당신의 답변을 수정하면 확실히 다운 투표를 제거합니다 ...
Aaron McIver

1
"비 프로그래머 용"부분을 놓친 것 같습니다. 언급 한 모든 작업은 프로그래머 작업입니다.
Erik Funkenbusch

제목이 아니라 질문을 읽었습니다. 답을 편집하겠습니다.
jzd

1 제거 ...
Aaron McIver

1

버전 관리에 관한 "나의 직업이 아님"은 프로그래머가 아닌 사람이 제정신이 아닙니다.

Dropbox는 동기화 용이거나 Time Machine은 백업용으로 간단하고 보이지 않는 버전 제어 시스템을 구축하십시오.

그냥 작동해야합니다. 체크 아웃, 커밋 없음 파일을 프로젝트 폴더에 넣으십시오.


1

나는 새로운 웹 사이트 레이디와 함께 tortoiseHG / 머큐리얼을 사용하고 있으며 아무런 문제가 없습니다. 체크 아웃이 없으면 매우 간단하고 실제로 파일을 동기화 해야하는 사람에게 모든 압력을가합니다. "할 일이 하나 더있는 것"처럼 보이지도 않습니다. "좋아요. 웹 사이트를 데모해서 피터에게 변경 사항을 다시 동기화하도록 요청해야합니다." 그리고 그것은 문제가되지 않습니다.

전에는 수은에 대한 경험이 없었으며 VSS를 사용했으며 웹 사이트 소스 제어를 원하는 사람은 없었습니다. 한 번 시도했지만 사용하지 않으려는 사람을 비난하지 않았습니다.


0

거북이 * 복제품을 사용하는 것이 더 간단합니다. 또는 IDE 또는 기타 버전 관리 기능을 통합하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.