git submodule update 에서 최신 제출 코드 를 가 져 올 수 없습니다.

2603 단어 git.submoduleupdate
오늘 git submodule update 에서 최신 코드 를 얻 지 못 하 는 문 제 를 만 났 습 니 다.한참 동안 소란 을 피 웠 는데 원래 자신 이 git submodule 에 대해 제대로 이해 하지 못 해서 생 긴 것 입 니 다.해 결 된 후에 깊 은 곳 은 없 지만 잘 모 를 때 는 시간 을 들 여 문 제 를 찾 아야 한 다 는 느낌 이 들 어서 다음 과 같이 기록 합 니 다.
1.문제 설명
동료 가 공동으로 사용 하 는 프로젝트 에서 코드 를 수 정 했 습 니 다.이 프로젝트 는 제 로 컬 프로젝트 에서 submodule 로 사용 되 었 지만 저 는 로 컬 에서 다음 명령 을 실 행 했 지만 최신 제출 코드 를 얻 지 못 했 습 니 다.

git submodule update --init --recursive
2.문제 의 원인
git submodule 은 프로젝트 에서 파일 을 지 켰 습 니 다.gitmodules 파일 에는 현재 부모 프로젝트 에 저 장 된 경로 path 와 하위 프로젝트 의 git 경로 url 이 기록 되 어 있 습 니 다.또한,부모 프로젝트 의.git 디 렉 터 리 에는 modules 하위 디 렉 터 리 가 다음 과 같 습 니 다.

이 modules 에 저 장 된 것 은 부모 프로젝트 와 관련 된 하위 프로젝트 의 경로 입 니 다.서브 엔지니어 링 에 들 어가 면 FETCH 라 는 이름 이 있 습 니 다.HEAD 파일:

이 파일 의 내용 을 보 려 면 다음 과 같 습 니 다.
zhuwsh@zhuwsh-TM1705:~/work_space/autonomousDriving/.git/modules/src/utils/dw_xxx_center$ cat FETCH_HEAD
31ecb3458596f22134588460eefb9efa4bd6df23 branch 'master' of https://gitlab.xxx.com/xxx/dw_xxx_center
이 때 이 commt id 는 git 에서 최근 에 제출 한 commid 와 다 릅 니 다.이 commt id 는 이전에 제출 한 id 입 니 다.
이것 은 사실 git submodule update 가 코드 를 가 져 올 때 하위 프로젝트 의 git 경로 와 이곳 의 commt id 와 관련 이 있 습 니 다.가 져 온 것 은 해당 하 는 git 경로 에서 이 commt id 의 모든 코드 를 가 져 오 는 것 입 니 다.그 후의 코드 는 가 져 오지 않 습 니 다.
이 원 리 를 이해 한 후에 어떻게 수정 해 야 할 지 알 게 되 었 다.
3.해결 방법
git 원 격 서버 코드 가 수정 되 었 으 니 로 컬 에서 git submodule update--init-recursive 명령 을 실행 할 때마다 프로젝트 에 대응 하 는 경로 에서 git pull 명령 을 실행 해 야 합 니 다.실행 이 끝 난 후 서버 의 최신 코드 는 로 컬 로 업 데 이 트 됩 니 다.이 작업 이 끝 난 후에 git submodule update 명령 을 실행 하면 위 에서 말 한 FETCH 를 볼 수 있 습 니 다.HEAD 파일 의 commt id 가 변경 되 었 습 니 다.현재 최신 commt id 로 변경 되 었 습 니 다.
zhuwsh@zhuwsh-TM1705:~/work_space/autonomousDriving/.git/modules/src/utils/dw_xxx_center$ cat FETCH_HEAD
ab214ead574d51755f4faabad4045de6486b49c2 branch 'master' of https://gitlab.xxx.com/xxx/dw_xxx_center
요약 하면 git submodule update--init--recursive 를 사용 하여 자체 공정 코드 를 가 져 온 후에 다음 두 가지 명령 을 실행 해 야 합 니 다.

git pull
git submodule update
git submodule update 에서 최신 제출 코드 를 얻 지 못 한 것 에 대한 자세 한 설명 은 여기까지 입 니 다.git submodule update 의 최신 제출 내용 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기