Git 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
94번째 줄: 94번째 줄:
  
 
== submodule ==
 
== submodule ==
서브모듈은 독립적인 저장소이다.
+
https://git-scm.com/book/ko/v2/Git-도구-서브모듈
 +
 
 +
서브모듈은 독립적인 저장소이다.  
  
 
메인 프로젝트를 복제한 경우 각 서브모듈별로 업데이트해야 파일을 받는다.
 
메인 프로젝트를 복제한 경우 각 서브모듈별로 업데이트해야 파일을 받는다.
100번째 줄: 102번째 줄:
 
서브모듈을 수정한 경우엔 master branch로 전환한 후 변경사항을 push한 후에 메인 프로젝트를 push해야한다.
 
서브모듈을 수정한 경우엔 master branch로 전환한 후 변경사항을 push한 후에 메인 프로젝트를 push해야한다.
  
=== Command ===
+
=== add ===
With no arguments, shows the status of existing submodules. Several subcommands are available to perform operations on the submodules.
 
 
 
==== add ====
 
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ git submodule add https://github.com/myid/myproject.git
 
$ git submodule add https://github.com/myid/myproject.git
110번째 줄: 109번째 줄:
 
서브모듈의 버전(해시)은 별도의 파일에 저장된다. 메인모듈을 새로 clone하는 경우 서브모듈은 clone되지 않는다. 추가명령으로 받아야 한다.
 
서브모듈의 버전(해시)은 별도의 파일에 저장된다. 메인모듈을 새로 clone하는 경우 서브모듈은 clone되지 않는다. 추가명령으로 받아야 한다.
  
==== init ====
+
=== init ===
 
먼저 git submodule init 명령을 실행하면 서브모듈 정보를 기반으로 로컬 환경설정 파일이 준비된다. 이후 git submodule update 명령으로 서브모듈의 리모트 저장소에서 데이터를 가져오고 서브모듈을 포함한 프로젝트의 현재 스냅샷에서 Checkout 해야 할 커밋 정보를 가져와서 서브모듈 프로젝트에 대한 Checkout을 한다.  
 
먼저 git submodule init 명령을 실행하면 서브모듈 정보를 기반으로 로컬 환경설정 파일이 준비된다. 이후 git submodule update 명령으로 서브모듈의 리모트 저장소에서 데이터를 가져오고 서브모듈을 포함한 프로젝트의 현재 스냅샷에서 Checkout 해야 할 커밋 정보를 가져와서 서브모듈 프로젝트에 대한 Checkout을 한다.  
  
 
간단하게 실행하는 방법도 있다. 메인 프로젝트를 clone할 때 [[Git#clone|git clone]] 명령 뒤에 --recurse-submodules 옵션을 붙이면 서브모듈을 자동으로 초기화하고 업데이트한다.
 
간단하게 실행하는 방법도 있다. 메인 프로젝트를 clone할 때 [[Git#clone|git clone]] 명령 뒤에 --recurse-submodules 옵션을 붙이면 서브모듈을 자동으로 초기화하고 업데이트한다.
  
==== update ====
+
=== update ===
 
원격 저장소에서 파일을 가져온다. 최신버전을 가지고 오는 것이 아니다.
 
원격 저장소에서 파일을 가져온다. 최신버전을 가지고 오는 것이 아니다.
  
129번째 줄: 128번째 줄:
 
$ git submodule update --init
 
$ git submodule update --init
 
</syntaxhighlight>
 
</syntaxhighlight>
 
=== deinit ===
 
$ git submodule deinit [모듈]
 
.git/modules와 소스폴더 삭제
 
$ rm -rf .git/modules/[모듈]
 
 
$ rm -rf [모듈]
 
  
 
=== 서브모듈의 버전 관리 ===
 
=== 서브모듈의 버전 관리 ===
145번째 줄: 137번째 줄:
 
</syntaxhighlight>임시 브랜치를 삭제하려면 git [[Git#branch|branch]]명령을 사용할 수 있다.
 
</syntaxhighlight>임시 브랜치를 삭제하려면 git [[Git#branch|branch]]명령을 사용할 수 있다.
  
=== 외부링크 ===
+
=== deinit ===
https://git-scm.com/book/ko/v2/Git-도구-서브모듈
+
$ git submodule deinit [모듈]
 +
.git/modules와 소스폴더 삭제
 +
$ rm -rf .git/modules/[모듈]
 +
 
 +
$ rm -rf [모듈]
  
 
== Git Hooks ==
 
== Git Hooks ==

wwiki에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 Wwiki:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)