2013-12-23 2 views
3

Subversion에서 Visual Studio 2012로 이동합니다. 소규모 팀에서는 팀 구성원간에 공유되는 master 분기로 작업합니다. 서브 버전에서Visual Studio Tools for Git 커밋 시스템

두 팀 구성원이 동일한 소스 파일을 변경하고 커밋에 대한 논리가 전혀 해결되지 않은 충돌이 없습니다 :

  1. 먼저 팀 구성원은 업데이트가 (여기 변경)을 복사하지 않고 다음 태그 변화를 저지 지역 "방법 A의 변화".
  2. 두 번째 팀 구성원이 로컬 복사본을 업데이트 (자동 병합 변경) 한 다음 "방법 B의 변경 사항"태그로 변경 내용을 커밋합니다. 힘내에서

나는 다른 행동이 :

  1. 먼저 팀 구성원의 동기 및 커밋 및 태그 "방법 A의 변화"로 변경을 누릅니다.
  2. 두 번째 팀원은 충돌이 있으므로 동기화 할 수 없으므로 "방법 B의 변경 사항"태그로 변경 내용을 커밋 한 다음 변경 사항을 가져옵니다 (자동 병합 변경).
  3. VS은 자동 텍스트 "Merge branch 'master'가 http : // ..."인 세 번째 커밋을 만듭니다. 여기에는 두 개의 커밋이 포함 된 최종 버전이 들어 있습니다.
  4. 두 번째 멤버는이 두 커밋을 밀어 넣을 수 있으며 파일의 기록은 3 가지 커밋을 가져옵니다.

이 자동 커밋은 텍스트 변경을 허용하지 않습니다 (손으로 해결하려고 할 때만). Visual Studio Tools for Git으로 작업하는 올바른 방법입니까?

+1

"Microsoft Git"이라는 이름은 얼굴에 아기를 펀치하고 싶어합니다. // offtopic – OneOfOne

+1

이것은 예상되는 동작입니다. 변경 사항을 푸시하면 이전 커밋과 원래 설명이 함께 푸시됩니다. – jessehouwing

+1

공식 명칭은 "Git 용 Visual Studio Tools"입니다. 아기를 저장해야합니다. @OneOfOne – jessehouwing

답변

2

커밋이 원격으로 푸시되지 않았고 다른 팀 구성원과 공유되지 않은 경우 명령 줄을 사용하여 변경할 수 있습니다. Using Git commit --amend you can update the commit message locally before pushing it back to your Git repository.

이 명령은 Visual Studio Tools for Git의 현재 버전에서 Visual Studio UI를 사용하여 노출되지 않았으므로 지금은 명령 줄 만 사용할 수 있습니다.

+1

패키지 관리자 콘솔은 PowerShell의 인스턴스 일 뿐이므로 명령 줄에 사용할 수 있습니다 ... PMC에서 posh-git을 사용할 수도 있습니다. http://dahlbyk.github.io/posh-git/ – Number8

관련 문제