2013-08-14 3 views
1

저는 초보자입니다. 나는 this Git tutorial을 읽고 시험해보고있다. 그리고 Git 브랜칭 모델 herethis question on SO도 읽었습니다.Visual FoxPro 개발을 위해 Git을 올바르게 사용해야합니까?

하지만 난 아직도 내가 아래에있는 내 경우 제대로 힘내를 사용하는 방법을 혼동하고 있습니다 :

  1. 나는 프로젝트 MyProject01 있습니다. 나는 PC에서 작업 할 것, 는 PC01
  2. 다른 PC에 앉아 다른 개발자가 말한다 말한다 PC02MyProject01 (자식 클론, 자식 풀 등)를하고 프로젝트를 작업 할을 복제해야합니다 그 위에.
  3. 그런 다음이 두 개가 동기화됩니다 (아마도 git push에서 PC01로 변경 될지 모르겠습니다). 예를 들어 PC1의 file.prg에서 function 1으로 작성하고 다른 개발자는 file.prg의 PC2에서 function 2으로 작성하고 있습니다. 최종 결과 - file.prg을 병합하여 function 1function 2을 완료합니다. 망할 놈의 각 디렉토리 (git init) 사용하는 것 등 MyProject01, MyProject02, 나는 즉 전체 버전 제어로 힘내를 사용하지 않는

이 버전은 자신에 의해 제어됩니다. 필자는 Visual FoxPro 데스크톱 응용 프로그램 개발을 위해 Git을 다중 개발자 환경으로 사용하고자합니다.

내 경우에 따르면 repo01에서 복제 된 베어 리포 지 토리를 생성해야합니까? in the tutorial; repo01MyProject01입니까?

나는 위에서 설명한 분기 모델에 적합하지 않다고 생각한다. 제게 올바른 길로 인도하십시오.
나는 the Git installer for Windows을 사용하고 있습니다.

[편집]
내 차 목표는 유사 소스 제어로 힘내를 사용하는 것입니다 :

+0

PDF [VCP Version Control with Mercurial] (http://www.ita-software.com/papers/Borup_Mercurial_Published.pdf)을 읽은 후 [Mercurial and TortoiseHg] (http : // tortoisehg. bitbucket.org) 왜냐하면 (1) Windows 셸 (3) 좋은 및 사용자 친화적 인 GUI 도구와 VFP 99 % (2) 잘 통합 요구 사항을 충족 문서. 원래 Git에 대한 질문 이었지만 Vit와 함께 사용할 Git의 단계별 가이드를 찾지 못했습니다. 그리고 나는 [Question and answers] (http://stackoverflow.com/q/35837/1179841)를 발견했는데, 그것은 Mercurial over Git을 선택하는데 매우 도움이된다. – Sithu

답변

0
당신을 위해 힘내을 사용할 수 있습니다

여러 프로젝트. project1과 project2에 대해 두 개의 폴더를 만들고 서로 분리하십시오.

처음에는 SmartGit을 사용해보십시오.

힘내는 전통적인 소스 제어 시스템이 아닙니다. 그것은 분산 소스 제어 시스템입니다. 나는 여전히 당신이 처음에 GitUI로 시작할 것을 제안합니다.

예. 맨 저장소가 있어야합니다.

+1

SmartGit에 대한 제안에 감사드립니다. Git Bash와 나는 여전히 괜찮습니다. – Sithu

+2

Git이 실제로 어떻게 작동하는지 너무 많은 지식을 추상화하기 때문에, 초보자라도 GUI를 사용하여 ***에 대해 ***을 강력히 추천합니다. *** 초보자를 포함한 *** 누구나 ***이 힘차게 배우고 숙달되기를 원한다면 *** 명령 행에서 *** 배워야합니다. –

2

저는 Git을 정식 버전 제어로 사용하지 않습니다. 즉, MyProject01, MyProject02 등과 같이 나 자신에 의해 제어됩니다.자식은 각각의 개별 디렉토리에 (자식 자식 초기화)를 사용합니다

왜 오래된 기록을 버리려는거야?

히스토리를 원하지 않으면 diff와 patch가 당신을 지원할 것입니다. git에서는 단일 저장소에 여러 분기가있을뿐만 아니라 저장소를 복제하여 여러 작업 사본을 만들 수도 있습니다. 여러 개의 브랜치를 사용하면 이전 버전의 히스토리를 유지하면서 이전 버전으로 돌아가 수정할 수 있습니다. 여러 작업 사본이 있으면 여러 버전의 프로그램을 동시에 실행하거나 체크인되지 않았지만 버전에 특정한 파일 (예 : sqlite 데이터베이스 파일)을 저장할 수 있습니다. 새 버전을 만들 때마다 업데이트 기록을 재설정 할 이유가 없습니다.

(PC01 아마 자식 푸시,하지만 난 그 확실하지 않다)

예, 당신이 할 수 있기 때문에 DVCS에 당신이 밀어하거나 (모든 저장소에있는 저장소에서 끌어 있음 이것이 분산 VCS를 중앙 집중식 VCS와 차별화하는 점입니다. 다른 주요 차이점은 DVCS에서 작업 복사본은 항상 특정 개정판의 스냅 샷 대신 전체 기록이있는 저장소이기도 함)입니다. 그렇게 말하면, 맨손 저장소를 설정하는 것이 코드 공유를 쉽게하는 좋은 아이디어입니다. PC02가 푸시해야하지만 PC01이 온라인 상태가 아니면 PC02는 PC01이 온라인 상태가 될 때까지 기다려야 만합니다. 온라인 상태 인 서버의 맨처 리 저장소에는 문제가 없습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 오래된 역사를 버리지 않을 것이다. 현재 수동으로하고 있습니다. 예를 들어, 1.0을 출시하고 2.0에서 작동하게되면 'MyProject-1.0' 폴더를 복제하고'MyProject-2.0'으로 이름을 지정합니다. 프로젝트 폴더의 모든 단일 파일과 동일합니다. 그래서 저는 모든 오래된 역사를 가지고 있습니다. Git을 사용하여 사본을 동기화하고 병합하기 만하면됩니다. 내 자제 버전 스타일을 유지할 것입니다. 프로젝트 폴더의 개별 파일에 Git 버전 (태그)을 사용할 수 있습니까? 그 목적을 위해 망할 놈을 제대로 사용하고 있습니까? – Sithu

+0

'프로젝트 폴더의 모든 단일 파일과 동일합니다.'<- 그게 무슨 뜻입니까? 귀하의 다른 질문에 관해서는, 당신은 확실히 동기화 및 병합에 자식을 사용할 수 있습니다, 자식 자체가 특정 워크 플로우를지지하거나 금지하지 않습니다; 그러나 분명한 이유가없는 한 엄청난 권력을 놓치고 있습니다. –

+0

'프로젝트 폴더의 모든 단일 파일과 동일합니다.'- 내 프로젝트 폴더에'utility-1.0.prg'가 있고 그 파일을 업데이트하려고 할 때 파일을 복사하고 이름을 바꿉니다. 'utility-2.0.prg'. 나는 지난 6 년 동안이 방법을 사용하고 있습니다. 따라서 기존의 모든 프로젝트에서 워크 플로우를 완벽하게 수행하는 것이 어렵습니다. – Sithu

2

저는 10 개월 동안의 질문이지만, 어쨌든 유용 할 수 있습니다.

2014 년 1 월부터 VFP 9 바이너리를 텍스트 (prg 스타일 파일)로 변환하고이 텍스트에서 바이너리를 재생성 할 수있는 FoxBin2Prg라고하는 scctext (x) .prg를 대체합니다. 코드를 Diff 및 Merge하는 데 사용할 수 있으며 생성 된 텍스트를 수정할 수 있으며 변경 내용은 다시 생성 된 바이너리에 반영됩니다.

그것은 다음 URL에서, VFPx 프로젝트에서 호스팅 : 심지어 같은 형태에 동시 개발을 사용하여, 사실 https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg

내가 사용은 파일을 차단하지 않고도 10 명 팀에 PlasticSCM와 통합 수업.

감사합니다.

2

확인 https://github.com/sait/vfpscm

PRG 파일을 그냥 일반 텍스트, 당신은 GIT를 사용하거나 투명하게 그들과 의욕 할 수 있습니다.

메모 파일이 연결된 DBF 테이블이므로 Visual Forms (scx & sct) 및 Visual 클래스 (vcx & vct)에 문제가 있습니다. 양식을 수정하면 전체 파일이 변경됩니다.

GIT는 바이너리 파일을 완벽하게 처리 할 수 ​​있지만 코드에서 차이점을 볼 수는 없으며 SCM의 용도는 무엇인지 알 수 있습니다.

우리는이 프로그램을 만들 : https://github.com/sait/vfpscm 그 : 당신이 저장소에 그들을 밀어 양식을 수정할 때 만 XML 파일에 몇 줄을 변경할 수 있도록

  1. 은 XML로 양식 및 클래스를 변환합니다.
  2. XML 파일을 양식 및 클래스로 변환하여 변경 내용을 수신합니다.

그래서 여기에 정기적으로 GIT의 변화를 사용하는 과정 : 당신의 버그가 수정 또는 기능이 준비가되면

  1. 파일 편집 PRGs
  2. 편집 비주얼 클래스와
  3. 테스트
  4. 양식을 :
  5. 클래스 및 양식을 XML (VfpScm을 실행하는)로 변환
  6. 파일 추가 PRG 및 X 여러분 힘내에 ML을 (자식 추가)
  7. 커밋 파일 (-m "메시지"를 커밋 자식) 저장소에
  8. 푸시 변경 (자식 푸시 -u 원점 마스터)

팀이 당겨해야 양식 및 클래스를 다시

  1. 풀 변경 (자식 끌어 오기 원산지 마스터)
  2. PRG 및 XML 힘내에 의해 overwrited 될
  3. : 변화와 함께 자신의 로컬 복사본에 추가 그

GIT 우리는 VFPSCM와 함께 일하고있다

SCX가, SCT, VCX 및 .gitignore를 사용하여 VCT 파일 및 저장소는 PRG 및 XMLS 파일이 포함되어 무시하는 구성이다 (VfpScm를 실행) 변경되었습니다. exe 도구는 300 개의 양식과 20 개의 클래스가있는 대규모 프로젝트에서 5 년 동안 사용해 왔으며 코드를 풀어 본 적이 없으며 SCM을 준비해야하고 변경 사항 만 시각화하고 커밋의 역사를 시각화해야합니다. 변경 사항.

관련 문제