2017-01-31 2 views
0

우리 회사에서는 버전 제어 시스템을 사용하지 않습니다. 단순히 안정적인 코드 버전이 포함 된 네트워크 폴더 G이 있습니다. 버전 코드를 자식 코드로 정렬하는 방법은 무엇입니까?

개발자

는 자신의 프로젝트에 대한 자신의 로컬 컴퓨터 L에 코드가 파일을 변경하고 그들이 G L에서 다시 복사하는 것이 복사합니다.

선출 된 개발자가 업데이트 된 출처를 G으로 컴파일하고 새로운 버전의 응용 프로그램을 릴리스합니다.

이제 Git을 사용하여 소스를 관리하기 시작합니다. Me (D1)와 다른 개발자 (D2)가 Git을 사용하며 매우 잘 작동합니다! 동시에 다른 개발자 D3, D4, D5, D6은 네트워크 디렉터리에서 코드를 복사하는 이전 방법을 계속 사용합니다.

현재 코드베이스가 G이고 Git을 사용하는 모든 개발자가 Git을 사용하도록 전환 할 때까지 어떻게해야합니까?

우리는 자식 흐름을 사용하고, 내 생각은 G 네트워크 폴더에 /에서 master 분기를 정렬하는 것입니다 ...하지만 :

  • 때? D3-D5 개발자가 출시 할 때마다 또는 덜 자주 할 수 있습니까?
  • 누구에 의해? 변경 작업을 수행 한 개발자가 업데이트를 수행해야합니까?
  • 어떻게? 파일 병합 (수정 날짜에 영향을 미침) 또는 가능한 경우 파일 교체?

임시 상황을 관리하기위한 제안이 있으십니까?

답변

1

맞지 않는 코드와 코드가없는 코드는 실제로 사용하는 방법이별로 효율적이지 않습니다. 다른 개발자 D3, D4, D5, D6에 자식에 대한 지식이 거의 없다면 아래의 방법을 사용할 수 있습니다 :

  1. D3 ~ D6에 대해 다른 자식 repo repo1을 만듭니다. Repo1 (git checkout -b dev)에 dev 지점에서 작업하고 두 (D1, D2)는 master 분기에서 작업합니다. 참고 : 저장소에 저장소 이름이 없어야합니다.
  2. D3 ~ D6의 경우 파일을 추가하는 데 git add filename을 사용하고 변경 내용을 적용하려면 git commit -am 'message'을 사용하고 git push을 사용하여 원격 repo1에 변경 사항을 적용 할 수 있습니다. D1과 D2 코드를 정렬
  3. : 당신이 당신의 repo 및 repo1 모두 코드를 변경 한 후 git remote add other <URL for other repo> git pull other git checkout dev git checkout master git merge dev git push origin master git push other master:dev
  4. , D3 ~ D6은 git pull에 의해 자신의 코드베이스를 업데이트해야합니다. 질문에 대한

:

때, 프로젝트 과정에 의존. 그리고 두 사람 모두 큰 변화를 가져 오면 정렬해야합니다. 위와 같은 방법을 사용하는 사람과 대상.

+0

대답은 올바른 해결책입니다 ...제 동료가 자식을 안다면 .. – padibro

관련 문제