예, 이제 git-tfs는 변경 사항 집합을 병합 할 때 병합 커밋을 만들려고합니다 (이제는 만족스러운 분기 지원이 있음).
이 메시지는 단지 경고 메시지를 표시하고 당신이 그것을 볼 때, 당신은이 옵션을 ...이
첫 번째는 당신이 알고 있기 때문에 아무것도하지 않는 것입니다
는, exemple에 대한 오래된 것을 기능 브랜치는 결코 작동하지 않을 것이며 더 중요한 미래에 부모 브랜치에서 다시 병합되지 않을 것입니다.
두 번째 것은이 병합 커밋이 실제로 필요한 경우입니다. 왜냐하면 당신은 여전히이 지점에서 일하고 상위 지점에서 병합해야하기 때문에 좋은 역사가 필요하거나 더 중요하기 때문입니다.
이를 위해 원격 사용자의 TFS를 재설정해야합니다 사실은 이미 이전 버전에서 어떻게 자식-TFS 작품과 사람들을 위해 호환성을 유지 --to 생성 된 커밋 때문에
(즉 수 없습니다 가지로 일해라 -).
리모컨을 재설정하려면 reset-remote 명령을 사용해야합니다.
그런 다음 상위 분기에 병합 된 분기를 branch --init으로 초기화합니다.
또한 로컬 분기를 tfs 리모컨으로 재설정합니다 (내부 git-tfs 최적화로 인해).
그리고 다시 상위 분기를 가져옵니다. 이 이전
을했다면, 그래서)
을, 이제 병합 된 지점이 존재하고 인출되어, 자식-TFS는 병합 된 지점에서 부모 변경 집합을 발견 할 것이다 당신은 당신의 자식 저장소에 커밋 아름다운 병합을해야합니다
git tfs clone https://CompanyName.visualstudio.com/DefaultCollection "$/CompanyName/Main" KfGitMain --workspace="C:\TFS\Main"
cd GitMain
git tfs branch --init "$/CompanyName/Release/20140121.1" live20140121.1
git tfs branch --init "$/CompanyName/Release/20140121.1-hotfix" hotfix20140121.1
당신 때문에 코드에 모두 세 가지의 경고를받은 경우
git checkout hotfix
git tfs reset-remote 5fb83335b8dfc6fbb96e0a54a48dc06c506e3277 ## previous commit of the first failed commit
git reset --hard tfs/hotfix
git tfs pull -i hotfix
git checkout live
git tfs reset-remote eba62a1446f3f81676d051336ca254fe54c37d74
git reset --hard tfs/live
git tfs pull -i live
git checkout master
git tfs reset-remote 72727737ec52f9b96d22d343770186a342c8b166
git reset --hard tfs/default
git tfs pull -i default
참고해야합니다, 그래서와 서로 병합 : 당신은 너무 많은 지점을 가지고 및/또는하지 않는 경우 이상한 tfs 기록, 모두 피할 수있는 git clone
을 병합 변경 집합을 처리하는 모든 브랜치를 초기화하고 페치하는 --with-branches
옵션을 사용합니다.
나는 내 대답을 이해할 때 사용한 명령을 추가했습니다. 잘못된 것이 있으면 수정하십시오. – IsmailS
모두 좋습니다. 한 명령을 저장하기 위해 업데이트 (fetch + reset 대신 pull 명령 사용)하고'git clone --with-branches'를 사용하여 이러한 경우를 피하기 위해 추가하지 마십시오. – Philippe
FYI, v0.19.2가 있다면 모든 git-tfs 명령에서'-i nameOfMyRemote' 대신'-I' 옵션을 사용할 수 있습니다. 사용하기 좋은 리모컨을 선택합니다 .... – Philippe