소스트리) pull request
·
깃 탐구
소스트리에서 pull 요청보내기 pull request 다른 사람의 원격 저장소에 내 변경사항을 pull 하도록 요청하는 것이다. 1. (fork한 계정) 다른 사람의 계정에 "Fork"를 눌러 내 레파지토리로 가져온다. 그대로 가져와졌다. 2. (fork한 계정) 로컬로 클론 한다. 3. (fork한 계정) 브랜치를 생성한다. 4. (fork한 계정) 해당 브랜치에서 작업을 한다. 작업을 하기 전에 브랜치를 체크아웃했는지 확인한다. 5. (fork한 계정) "pullpull"브랜치에서 작업한 내용을 커밋한다. 6. (fork한 계정) 작업한 브랜치를 푸시한다. 7. (fork한 계정) 포크 한 저장소를 확인하면 "Compare & pull request" 버튼이 생겼다. 클릭해 준다. 8. (fork ..
소스트리) pull 하기
·
깃 탐구
소스트리에서 pull 하기 pull = fetch + merge pull은 변경사항을 확인하고 병합하는 명령을 같이 수행한다. 아래와 같이 두 저장소 사이에서 차이가 발생하였다. 1. "Pull"을 클릭한다. 2. 경로와 브랜치를 확인하고 "Pull"을 클릭한다. fetch와 달리 바로 병합되었다.
소스트리) 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"의 내용이 다르다며 자동적으로 위와 같이 수정된다. 두 코드의 범위에서 사용을 할 코드를 남기고 다 지워 줘야 하지만, 소스트리에서는 이를 자동적으로 해..
오지랖 토끼
'sourcetree' 태그의 글 목록