[git]깃허브-2

한상욱·2023년 8월 9일
0

git

목록 보기
10/10
post-thumbnail

들어가며

이전 포스팅에서는 깃허브가 무엇인지에 대해서 알아보았습니다. 이번 포스팅에서는 본격적으로 원격 저장소를 생성하고, 지역 저장소와 원격 저장소의 pull & push 에 대해서 알아보겠습니다.

원격 저장소 생성

기본적으로 깃허브에 저장소를 생성하기 위해서는 깃허브 계정이 필요합니다. 원격 저장소를 생성하기 위해서 계정은 생성이 완료되었다고 하겠습니다. 로그인을 하면 계정 정보에 대한 대시보드화면이 나타나요.

좌측 상단에는 내가 생성한 원격 저장소에 대한 목록이 있고, new라는 버튼이 보이죠? 저 버튼을 눌르면 새로운 원격 저장소를 생성할 수 있습니다.(이곳 말고도 저장소를 생성하는 버튼은 많이 있습니다.) new 버튼을 누릅니다.

해당 페이지에서는 원격 저장소에 대한 정보를 입력해줍니다. 저장소의 이름은 현재 내가 소유한 원격 저장소와 이름이 겹쳐서는 안돼요. 아래에 설명란은 선택입니다. 넣어도 되고, 안넣어도 문제 없어요.

설명란 하단에는 public과 private을 설정하는 칸이 있는데요, 해당 칸은 나의 저장소를 공개로 할 것인지, 비공개로 할 것인지 선택하는 칸입니다. 공개하면 곤란한 코드들은 비공개로 놔야겠죠?

그 아래에는 Add a README file이라는 칸이 있습니다. README.md 파일이 이제 등장하게 되는것인데요, 이 파일은 이 프로젝트의 대한 설명을 기재할 수 있는 파일입니다. 보통 원격 저장소에는 README.md 파일이 존재하지만, 이미 그 파일이 생성될 때 같이 만들어지는 프레임워크들이 있습니다. 제가 주로 사용하는 Flutter는 프로젝트를 생성하면 README.md 파일이 같이 생성되기 때문에 해당 칸을 선택해서 만들어주면, 커밋 로그가 맞지 않아서 push시에 에러가 발생합니다. 그러니 선택하지 않고 만들게요.

하단에 Create repository 버튼을 클릭합니다. 이렇게 원격 저장소 생성을 완료하였습니다.

원격 저장소와 지역 저장소 연결하기 (git remote add)

이제 원격 저장소를 생성하였습니다. 해당 원격 저장소는 아직 아무런 내용도 없고, 지역저장소도 연결되지 않았습니다. 화면 중간에 https 링크가 보이시나요? 저 링크를 사용해서 지역 저장소와 원격 저장소를 연결할 수 있습니다. 현재 연결할 지역 저장소의 상태를 확인하겠습니다.

제가 연결할 저장소의 상태입니다. 현재는 브랜치가 main이 아니라 다른 브랜치입니다. 보통 main 혹은 master브랜치에서 저장소를 연결하는 것이 깔끔합니다.

main으로 옮겼습니다. 이제 원격 저장소와 연결을 해볼게요. git remote add [이름][링크] 명령어를 사용하면 현재의 지역 저장소와 원격 저장소를 연결할 수 있어요. 여기서 이름은 원격 저장소의 별명입니다. 아까 url이 굉장히 길었죠? 그래서 그 url에 별칭을 붙여줘서 간편하게 원격 저장소와의 명령어를 작성할 수 있어요. 저는 origin이라고 하겠습니다.

$ git remote add origin [원격 저장소 url]

이 명령어를 수행하고 나서, git remote -v 명령어를 사용하면 잘 연결되었는지 확인할 수 있습니다.

원격 저장소와 지역 저장소가 연결되었습니다.

원격 저장소에게 push

지역 저장소와 원격 저장소가 연결되었으니, 지역 저장소의 파일들을 원격 저장소로 전송해야 백업을 할 수 있습니다. git push [이름][전송할 브랜치 이름] 명령어를 이용해서 전송할 브랜치를 전송할 원격 저장소의 이름으로 전송할 수 있어요. 저같은 경우 원격 저장소의 이름을 origin 이라고 했으니, origin 에 main 브랜치의 내용을 전송하겠습니다.

이렇게 되면 전송에 성공한 것이에요. 깃허브를 확인해볼까요?

화면을 새로고침하면 main 브랜치의 내용이 원격 저장소에 제대로 전송받았음을 알 수 있습니다. 여기서 다른 브랜치들은 알 수 없어요. main 브랜치만 전송했기 때문이죠.

원격 저장소에서 pull

지역 저장소는 변경된 내용이 없지만, 원격 저장소에 내용이 변경되었을 경우, push 하면 오류가 발생합니다. 원격 저장소와 지역 저장소의 커밋 로그가 맞지 않기 때문이에요. 이런경우는 원격 저장소의 내용을 지역 저장소로 가져오는 pull 을 해줘야 합니다. git pull [이름][가져올 브랜치] 명령어를 사용하면 해당 브랜치의 최신 내용을 지역 저장소로 가져올 수 있어요.

제가 원격 저장소에 README.md 파일을 만들고 커밋해볼게요.

아까와는 다르게 README.md 파일이 생겼죠? 이제 지역 저장소와 원격 저장소의 main 브랜치의 내용이 달라졌으니, 지역 저장소에서 원격 저장소의 변경사항을 pull 하겠습니다.

이런 화면이 나타나면 성공적으로 원격 저장소의 변경사항을 가져온겁니다. README.md 가 생성되었는지 확인해보겠습니다.

원격 저장소에서 생성한 README.md 파일이 생성되었다는 것을 확인했습니다.

profile
개발공부를 기록하자

2개의 댓글

comment-user-thumbnail
2023년 8월 9일

정보에 감사드립니다.

1개의 답글