반응형

[Git] 14

[Git] SubModule 추가하는 방법

1. 서브모듈(SubModule)이란? : 별도의 Git repository(하위 repository)를 다른 디렉토리로 분리해 넣는 것입니다. 프로젝트에 쓰이는 데이터를 관리하는 별도의 repository를 만들어 프로젝트와 연동되게 하고자 합니다. 아래 과정을 거쳐 서브모듈을 만들어 보겠습니다. 1. 서브모듈 repository를 추가하는 방법 아래 명령어를 상위 repository에 입력해 서브모듈을 추가해줍니다. $ git submodule add [submodule repository 주소] [submodule repository path] : submodule repository의 경로를 이미 생성해뒀을 경우. $ git submodule add [submodule repository 주소] ..

[Git] 2022.10.31

[Git] Git Server Protocol

Git 은 Local, SSH, Git, HTTP/HTTPS 4개의 프로토콜로 원격 저장소와 통신합니다. 1. Local Protocol : remote repository가 단순히 같은 시스템의 다른 디렉토리에 있을 때 사용합니다. * 장점 : 간단하고, 기존의 네트워크나, 파일의 권한을 그대로 사용하기 때문에 설정하기 쉽습니다. * 단점 : 다양한 상황(집에서 작업한다던가)에서 접근할 수 있게 디렉토리를 공유하는 것이 어렵고, 모든 사용자가 remote repository에 접근할 수 있으므로 보호가 어렵습니다. 2. HTTP Protocol Smart HTTP : SSH, Git 프로토콜처럼 통신합니다. SSH는 키를 발급하고 관리해야 하는 번거로움이 있는 반면, HTTP는 사용자의 이름과 암호로 ..

[Git] 2022.10.30

[Git] Git LFS(Large File Storage) 사용 방법 (feat. SourceTree)

깃허브를 사용할 때, 다음과 같이 2MB 이상의 용량을 가진 파일은 git lfs를 사용하길 추천합니다. 오늘은 git lfs 사용 방법을 간단하게 알아보겠습니다. 1) cmd창 켜고, 해당 repository 폴더로 이동 cd [repository 폴더 경로] 2) 해당 repository에 git lfs 설치 git lfs install 3) 용량이 큰 파일을 track (스테이지에 올리기 전에 git lfs track 해줘야 합니다) git rm --cached [파일 경로] git lfs track [파일 경로] * 소스트리에서는 해당 파일을 우클릭한 후, 'Git LFS 에서 파일 형식 추적' 버튼을 눌러줍니다. 추적해주면 해당 파일의 내용이 lfs pointer로 바뀌고, .gitattribu..

[Git] 2022.04.23

[SourceTree] 소스트리 오류 - 소스트리 push 브랜치 리스트 안뜨는 현상

안녕하세요 극꼼이입니다. 소스트리를 잘 이용하던 도중, push에서 branch 리스트가 갑자기 보이지 않는 현상이 발생했습니다. 당황당황 열심히 구글링으로 해결했는데, 그 방법을 공유하면 좋을 것 같아 이렇게 포스팅을 썼습니다. 1. 소스트리 윗 상단 탭에서 '도구 - 옵션' 순서대로 클릭합니다. 2. Git 탭으로 들어가 브랜치 푸시에서 업스트림을 눌러줍니다. * 업스트림(upstream) : 현재 브랜치를 트래킹 리모트 브랜치에 push 한다는 말 확인버튼을 누른 후 돌아와보면.. 이렇게 브랜치 리스트가 다시 보이는 것을 확인할 수 있습니다! ㅎㅎ 브랜치 리스트가 push 탭에서 안 보이는 현상을 가볍게 해결할 수 있어서 다행이네요.

[Git] 2021.07.03

[Git] amend (feat. SourceTree)

: 최신 커밋 수정(커밋을 추가하지 않고 제일 최근 커밋에 추가로 반영) 이미 커밋을 했는데, 해당 커밋에 수정사항이 있음을 뒤늦게 알았다고 가정해 봅니다. 새로운 커밋을 만들지 않고 기존 커밋을 수정하는 키워드가 amend 입니다. 1. 커밋을 누른 후, 커밋 옵션에서 '마지막 커밋 정정' 클릭 2. 커밋 문구를 바꾸겠냐는 메시지에서 '예'를 클릭하면 이전에 커밋했던 메시지가 자동완성 됩니다. 이후, 커밋 내용 수정이 필요하다면 수정하시고 커밋해주시면 됩니다. 만약 이전의 커밋을 이미 푸시한 상태이고, amend하려던 코드가 충돌을 일으키는 상태라면 푸시가 되지 않습니다. 이런 상태가 됩니다. Pull을 누르게 되면 다시 원래 상태로 돌아가므로, Push를 눌러 강제 푸시를 해줍시다. 만약 강제 푸시가..

[Git] 2021.03.23

[Git] rebase (feat. SourceTree)

rebase는 말 그대로 베이스(branch)를 재배치한다는 뜻입니다. merge를 사용하면 히스토리를 봤을 때 뿌리가 여러개로 나뉘게 되고, branch가 매우 많은 상황이라면 히스토리를 깔끔하게 보기가 어렵습니다. 이럴 때 rebase로 베이스를 다시 정의함으로써 새로 커밋 라인을 정리하여 히스토리를 깔끔하게 볼 수 있게 해줍니다. 이렇게 말로만 보면 이해가 어려울 수 있는데요, merge랑 어떻게 다른건지 먼저 비교해보도록 하겠습니다. 이렇게 master 브랜치의 커밋4, testBranch의 커밋3가 있습니다. 커밋3와 커밋4를 merge, rebase를 할 경우 아래와 같은 그림이 됩니다. merge는 이렇게 새로운 커밋이 생깁니다. 같은 브랜치로 합쳐졌는데, 커밋 히스토리를 볼 때 위와 같이 ..

[Git] 2021.03.19

[Git] git branch 병합 충돌 해결, pull request (ft.소스트리)

지난 포스팅에서 브랜치 병합을 배웠던데에 이어서, 병합했을 때 버전끼리 충돌했을 경우에 대해 알아보겠습니다. 위와 같은 branch 2개를 생성하고, Abranch에는 위와 같이, Bbranch에는 위와 같이 파일을 수정해줬습니다.(수정한 부분이 겹치는 상태) 이제 지난 포스팅과 같은 방식으로 병합을 해줍니다. 두번째 브랜치를 병합할 때 위와 같이 '병합 충돌'이 있다는 창이 뜹니다. 두 브랜치가 같은 라인의 코드를 수정했기 때문에 충돌이 일어난 것입니다. 비주얼 스튜디오 코드를 확인해보면, 위와 같이 충돌이 일어났음을 알려줍니다. 이때 상단에 [Accept Current Change], [Accept Incoming Change], [Accept Both Changes], [Compare Changes..

[Git] 2021.03.17

[Git] git branch (branch 만들기, 이동하기(checkout), 병합하기) (ft.소스트리)

만들어 놓은 버전의 복사본(branch)를 만들어 다른 방향으로 작업을 이어가는 것. 하나의 개발 브랜치에는 보통 한 사람만 작업해서 올리는 것이 바람직하다고 합니다. 소스트리 상단의 브랜치 탭을 선택합니다. 새 브랜치 이름을 정해준 후, 새 브랜치로 작업을 할 예정이라면 아래 체크박스에 체크해줍니다. * 체크아웃 : 브랜치를 이동 좌측에 새로운 브랜치가 생기고, 새 브랜치로 체크아웃했기 때문에 현재 브랜치가 mdTest2로 선택되어 있는 것을 확인할 수 있습니다. 테스트를 위해 파일을 새로 하나 만들어준 후, 스테이지에 올리고 커밋해줍니다(하는 법은 지난 포스팅 참고). 원격저장소에 push를 해주면 아래와 같이 브랜치가 잘 생성된 것을 확인할 수 있습니다. 다시 master 브랜치로 돌아가서 새로운 ..

[Git] 2021.03.16

[Git] 소스트리를 이용한 버전 관리 (ft. 소스트리 설치하기)

제가 따라가고 있는 커리큘럼으로, GUI 환경에서 깃허브를 사용해본 후, CLI 환경으로 넘어갑니다. 처음 배우는 깃허브이니, 천천히 진도대로 따라가봅니다. 소스트리는 Git 사용을 도와주는 GUI 프로그램입니다. 버튼을 클릭하는 방식으로 필요한 명령을 실행할 수 있게 해주며, Git의 핵심인 Commit, push, branch 등을 눈으로 쉽게 확인할 수 있게 해줍니다. 소스트리 다운로드 사이트 : www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client fo..

[Git] 2021.03.15
반응형