2016-07-23 9 views
1

우리는 SCM을 BitBucket으로 변경하고 있습니다. 현재 우리는 Clearcase SCM을 사용하고 있으며, 개발자, UAT 및 제작 단계에서 개발자가 현재 작업중인 코드를 가지고 있으며, UAT는 BP가 테스트 한 변경 사항을 완료하고 Production은 프로덕션에 배포 된 코드를 가지고 있습니다. .BitBucket - 마스터 대신 직접 분기를 개발하도록 추가

BitBucket에서 우리 관리자는 develop, test 및 master의 3 가지 분기를 정의했습니다.

CC에서 우리는 각 상태에 코드를 가지고 있기 때문에 Bitstream에서 분기를 개발하기 위해 dev 스트림에서 코드를 추가하려고했습니다.

나는 아주 새로운 repo를 사용하고 있습니다. repo의 모든 분기에는 README.TXT 파일이 있습니다. 내가 # 9을 실행하면 내가 사용하고

명령은

# 1. create a Project & Repo in Bitbucket named __apprepo_ 
# 2. create a Snapshot view on your workstation from Clearcase for the application that you want to migrate 
# 3. at the DOS command line, change directory to the root of your snapshot view 
# 4. type ‘git init’ 
# 5. type ‘git add --all’ 
# 6. type ‘git commit –m “Initial Commit” ‘ 
# 7. type ‘git remote add origin ssh://ourBBserver.com:7999/EN/apprepo 
# 8. type ‘remote –v’ 
# 9. type ‘git pull origin develop’ 
# 10. type ‘git push –u origin develop’ 

이다, 나는 다음과 같은 오류 얻을 :

error 22-Jul-2016 20:45:10 warning: no common commits 
error 22-Jul-2016 20:45:10 From ssh://ourBBserver.com:7999/EN/apprepo 
error 22-Jul-2016 20:45:10  * branch   develop -> FETCH_HEAD 
error 22-Jul-2016 20:45:10  * [new branch]  develop -> origin/develop 
error 22-Jul-2016 20:45:10 error: src refspec develop does not match any. 
error 22-Jul-2016 20:45:10 error: failed to push some refs to 'ssh://ourBBserver.com:7999/EN/apprepo.git' 

하지만, # 9, # 10,에 내가 변경하는 경우 developmaster을을을 , 작동합니다.

코드를 develop 분기로 직접 이동하려면 어떻게해야합니까? test 지점과 동일

답변

0

ClearCase보기로 전환하고 거기에서 repo를 초기화 할 필요가 없습니다.

로컬 Git 저장소를 별도로 유지하여 원격 저장소로 이동할 준비가되었습니다. ,

git --work-tree=/path/to/ClearCase/view/aVob add . 
git commit -m "Add state from CC view" 
git push 

그런 다음 그 다음 기준에 CC보기의 구성 스펙을 변경 (또는 전체 라벨) :

당신은 ClearCase에서 일관된 상태를 추가 할 때마다, 당신의 자식의 repo 및 유형에 머물 다음 일관성 상태를 나타 내기 위해 (ClearCase는 파일 기반이므로 UCM 기준선 옆에 커밋의 개념이 없음).
동일한보기의 새 콘텐츠를 동일한 로컬 Git 저장소 (동일한 분기)에 다시 추가하십시오. 그리고 다시 밀어.


내 기본적인 질문은 - 나는 내가 develop 지점 대신 master 지점에 추가 할 파일 세트와 나는 '자식 초기화'한 경우 -> '자식 --all 추가'를 - > 'git commit -m'git remote add origin ssh : //ourBBserver.com : 7999/EN/apprepo ',

처음에는 git init을 사용하지 마십시오. 만약 당신이 을 의미하는 master 브랜치를 가지고 있다면은 다른 곳에 repo를 초기화합니다. 그 REPO에

이동, 지점 개발 @VonC을

cd /path/to/my/repo 
git checkout -b develop 
git --work-tree=/path/to/ClearCase/view/aVob add . 
git commit -m "add content of CC develop branch (no history though)" 
git push -u origin develop 
+0

감사 개발 브랜치를 만들고 해당 CC의 CC보기 설정과 일치하는 내용을 추가합니다. 좀 더 설명해 주시겠습니까? 각 CC 상태의 전체 파일 집합을 BitBucket의 해당 분기에 추가하려고합니다.우리의 클리어 케이스가 설정되는 방식은 다른 상태를위한 것입니다. 다른 스트림이 있습니다. 그래서 CC_dev 스트림 -> 브랜치 개발, CC _uat 스트림 -> 테스트 브랜치 및 CC _prod 스트림 -> 마스터와 같은 BitBucket을 채울 계획이었습니다. 분기. 모든 다른 브랜치는 파일이 벤드가 ud에서 dev로 추가 될 수 있다는 의미에서 다른 파일을 가지고 있습니다. – adbdkb

+0

각 CC 지점에 대해 @adbdkb를 사용하려면 가장 오래된 기준선에서 최신판으로 리베이스해야하며, 각각에 대해 Git 저장소에 내용을 추가해야합니다. '--work-tree' 옵션은 git repo가 ​​HEAD와 CC 작업 트리 사이에 델타를 추가/수정/원격화하기 위해 작업 트리로서 다른 경로 (업데이트 된 CC보기와 같은)를 일시적으로 고려할 수있게합니다. – VonC

+0

하지만 어떻게'git pull origin developed'를 사용하여 개발 브랜치에 직접 추가 할 수 있습니까, 아니면 불가능합니까? – adbdkb