소스트리) fetch하여 변경 사항 확인하기
·
깃 탐구
소스트리에서 fetch 하기 로컬 저장소와 원격 저장소에 차이가 생겼다. 1. "패치"를 클릭한다. 2. "확인"을 누른다. 아래의 이미지와 같이 "origin/main"이 생겼다. 로컬 저장소의 변경 사항만 가져왔기 때문에 로컬의 "main"에는 영향을 주지 않는다. 로컬에는 영향을 주진 않지만 변경사항은 확인이 가능하다. "main" 브랜치의 1은 1개의 커밋이 뒤쳐져있다라는 의미이다. 병합도 가능하다. 병합을 하고 로컬 저장소와 원격 저장소가 같아졌다.
소스트리) 원격 저장소로 푸시하기
·
깃 탐구
소스트리에서 원격 저장소로 푸시하기 원격 저장소로 로컬작업의 변경 사항을 저장할 수 있다. 1. 새롭게 푸시할 원격 저장소를 만든다. 2. 소스트리에서 "Remote" -> "clone"을 클릭한다. 3. 클론 한 폴더에 파일을 만든다. 4. 커밋을 두 번 해 주었다. 현재는 로컬 저장소에만 커밋이 쌓여있는 상태이다. 5. "Push"를 누른다. 6. 경로를 확인한다. "origin"이라는 저장소의 "main" 브랜치에 푸시한다는 의미이다. 7. 깃 허브의 원격저장소를 확인한다. 로컬에서 만들었던 커밋도 확인 가능하다.
소스트리) 원격 저장소 클론하기
·
깃 탐구
소스트리에서 원격 저장소 클론하기 1. 클론 할 해당 저장소로 가서 "SSH URL"을 복사한다. 2. "Clone"을 클릭한다. 3. "클론"을 클릭한다. ".git" 파일까지 그대로 복사된다. 위에서 경로를 설정하지 않았기 때문에 기본 경로로 클론이 되었다. 복제하고자 하는 프로젝트의 히스토리도 그대로 복제된다. 위 그림에서 "main"은 브랜치 명을 뜻하고 "origin"은 원격 저장소의 별명을 뜻한다. HEAD는 원격 저장소의 HEAD이다. 아래의 설정을 눌러 원격 저장소의 경로의 별명을 추가할 수 도 있다.
소스트리) 원격 저장소 연결하기
·
깃 탐구
소스트리에서 원격 저장소 연결하기 1. ssh 키를 생성한다. ssh 두 개의 키 생성 ssh-keygen 공개키와 개인키를 생성하여 경로에 저장하겠다는 문구가 뜬다. 위의 경로를 그대로 선택할 경우 그냥 "enter"를 누른다. SSH통신을 하기전 별도의 암호를 입력하려면 입력하라는 문구가 뜬다. 암호를 입력하지 않았기 때문에 그냥 "enter"를 눌렀다. 위와 같은 화면이 나오게 된다. 각각의 키에 대한 경로가 나온다. 2. 경로상의 파일을 열어 키를 확인한다. 경로상의 파일 열기 cat 아래와 같이 수많은 코드들이 나온다. 위의 공개키를 깃허브에게 전달하면 안전하게 정보를 전달받을 수 있게 된다. 3. 우측 상단의 계정을 눌러 "Settings"를 누른다. 4. 왼쪽 메뉴에서 "SSH and GPG..
소스트리) 재배치 하기
·
깃 탐구
소스트리에서 재배치하기 rebase 아래와 같이 3번째 커밋을 베이스로 "add"커밋을 만들어 작업을 했고, "master"브랜치에서도 따로 작업을 했다. 아래의 그림과 같다. "master"의 3번째 커밋을 베이스로 했던 add 브랜치를 "master"의 5번째 베이스로 바꿔보겠다. 이것을 브랜치의 재배치(rebase)라고 한다. 1. 재배치하고자 하는 브랜치로 체크아웃을 한다. 2. 베이스로 하고자 하는 커밋에 오른쪽 클릭을 하고 "재배치"를 클릭한다. 3. "확인"을 누른다. 아래와 같이 재배치가 되었다. 아래의 그림과 같다. "master" 브랜치를 새롭게 커밋을 추가하면 위그림처럼 "add"브랜치의 베이스가 바뀌었음을 알 수 있다.
소스트리) 충돌 해결하기
·
깃 탐구
소스트리에서 충돌 해결하기 서로 다른 코드를 브랜치로 병합할 때 충돌이 일어 날 수도 있다. 소스트리에서의 코드 충돌을 해결해 보자. "master"브랜치와 "meet"브랜치에서 같은 파일에서 각각 다른 코드로 수정하였다. 이경우 merge를 하면 충돌이 일어난다. 1. "master" 브랜치를 체크아웃한 상태에서 "meet" 브랜치를 병합한다. 2. "확인"을 누른다. 충돌이 있다고 경고문이 나온다. 3. 저 문구를 확인한 후 우측 상단의 "탐색기"를 누르고 파일을 확인해 본다. 위와 같이 HEAD로 되어있는 "master"의 내용과 병합할 "meet"의 내용이 다르다며 자동적으로 위와 같이 수정된다. 두 코드의 범위에서 사용을 할 코드를 남기고 다 지워 줘야 하지만, 소스트리에서는 이를 자동적으로 해..
소스트리) 브랜치 합치기
·
깃 탐구
소스트리에서 브랜치 합치기 branch Fast-forward 서로 다른 브랜치에서 기준이 되는 브랜치의 커밋내용이 변경되지 않을 때 사용한다. merge를 실행하는 브랜치의 HEAD 커밋이 병합되는 기준 브랜치로 이동하게 된다. 브랜치는 현재 아래와 같은 상태이다. "master" 브랜치로부터 뻗어 나와 "hungry" 브랜치에서 작업을 했다. 현재 "master"브랜치는 변경사항이 없으며, "hunry"브랜치에서 작업한 것을 "master" 브랜치로 합쳐줄 것이다. 1. 병합의 기준이 되는 브랜치로 체크아웃을 한다. 2. 병합하고자 하는 브랜치를 오른쪽 클릭하여 "현재 브랜치로 병합"을 클릭한다. 3. "확인"을 누른다. 병합이 되었다. 탐색기를 누르면 txt 파일 3개가 보인다. 병합한 브랜치는 필..
소스트리) 브랜치 나누기
·
깃 탐구
소스트리에서 브랜치 나누기 branch 브랜치는 협업과 버전 관리에 있어서 매우 중요한 역할을 한다. 새로운 작업폴더에 먹고 싶은 것을 적어보았다. 마스터 브랜치로 커밋되었다. 텍스트문서를 하나 더 작성하여 한 번 더 커밋해 주었다. 히스토리는 아래와 같다. 브랜치 나누기 1. "브랜치"를 클릭한다. 2. 브랜치 명을 작성하고 브랜치 생성을 클릭한다. 체크아웃 : 브랜치로 이동하는 것 해당 브랜치로 HEAD가 이동하게 된다. HEAD는 브랜치의 최신 이력을 가리킨다. "hungry"라는 새브랜치가 생성되었다. 현재의 HEAD는 "hungry"로 "master"와는 변경 사항이 없어 똑같은 상태이다. 브랜치가 "hungry"로 체크아웃되어있고 HEAD는 현재 hungry의 최신 커밋이력에 위치한다. "hu..
오지랖 토끼
'깃 탐구' 카테고리의 글 목록 (4 Page)