이번 섹션에서는 개발 협업 툴인 GitHub을 사용해보면서,
GitHub상의 원격 저장소의 브랜치에 내 로컬 프로젝트를 업로드 해보고,
반대로 GitHub 원격 저장소 상의 프로젝트를 내 로컬로 clone 해보는 실습을 하였다.
(1). GitHub 가입 후 로그인
(2). Personal access token 만들기
: GitHub에 프로젝트를 연동하여 프로젝트를 올리고 다운받기 위한 인증 방법으로써 사용될 것.
- 우측 상단 프로필 -> Setting클릭
- 설정 화면에서 좌측 메뉴 하단의 Developer settings클릭
- Personal access token 을 클릭하고 새로 생성
- 이후 토큰을 생성하면 생성된 토큰의 비밀번호가 나옴.
이를 안전하게 기록해둬야 함.
- 이후 프로젝트를 push 하고 pull 할 때마다 이 비밀번호를 입력해야 하는데,
이를 간편하게 설정할 수 있도록 window or mac 에 설정을 해둠.- 추가적으로 소스트리에서도 생성한 토큰으로 계정 추가를 해준다
나의 경우는 이미 계정과 토큰이 생성되어 있었기 때문에, 곧바로 Repository 생성 단계 부터 시작하였다.
(3).이후 Github 페이지에서 새로운 Repository를 생성한다.
- 각 프로젝트 별로 , 별도의 Repository에서 관리된다고 생각하자
<1.이제부터 본격적으로 GitHub의 원격 저장소와 내 로컬 Git 저장소를 연결 후 업로드>
(단 이 방법은 이미 내 로컬 Git 저장소에 관리되고 있는 커밋 내역들이 존재하는 경우에 한한 연동 방법이다.)
[ 내 로컬 Git 저장소에, 방금 생성한 원격 저장소를 연결]
- git remote add origin (원격 저장소 주소)
: 내 로컬 git 저장소에 대해 , "원격 저장소 주소"의 원격 저장소를 연결하고, 그 원격 저장소의 이름을 [origin] 이라고 명명.
(대부분 origin을 사용 - 협업시에는 원격 저장소에 올라간 프로젝트 파일이 원본일테니)
-> 이때 원격 저장소의 주소는 아래 화면의 주소를 이용한다.(당연히 원격 저장소란 3번에서 생성한 Repository를 말한다.)
(참고로 이 원격 저장소는 GitHub 외의 다른 저장소가 될 수도 있다.)
- git branch -M main
: 내 로컬 Git 저장소의 기본 브랜치 이름을 main으로 변경
(앞전에 이미 변경했으니 의미 없음)
- git push -u origin main
1) git push : 내 로컬의 커밋 내역들을 다음의 원격 저장소에 업로드 해라
2) -u origin main : 이때 [어느 원격 저장소의 어느 브랜치에 올릴지를] -u 옵션으로 기본 설정하는 것이고, 우리의 경우는 origin 저장소의 main 브랜치에 업로드 하도록 설정한다.-> 이 -u 옵션에 의해 [원격 저장소의 어느 브랜치]가 한번 설정되었으므로
-> 이후 push 시에는 [원격 저장소의 어느 브랜치]를 명시하지 않아도 무조건 로컬 main브랜치에서의 push는 origin의 main 브랜치로 업로드 된다.
[ 연결된 원격 저장소 조회]
- git remote
: 내 로컬 Git 저장소와 연결된 원격 저장소 조회- git remote -v
: 내 로컬 Git 저장소와 연결된 원격 저장소를 자세히 조회[ 원격 저장소와의 연결정보 지우기]
- git remote remove (원격 저장소 이름)
: git remote remove origin - origin과의 연결 정보를 지움
-> origin 저장소가 지워지는게 아니라, 내 로컬 Git 저장소 와의 연결 정보가 지워짐.
<2. GitHub에서 프로젝트 다운받기>
: GitHub이라는 원격 저장소에 올려진 프로젝트를 , 내 로컬 컴퓨터에 다운받기
[먼저 내 로컬 컴퓨터의 다운로드 받고 싶은 폴더로 이동]
[이후 다운로드 받고 싶은 프로젝트가 있는 GitHub Repository https주소를 복사]
[이후 iterm or 터미널에서 다음 명령어 입력]
- git clone (복사한 원격 저장소 주소)
- 그러면 원격 저장소의 프로젝트 파일 뿐만 아니라
- 원격 저장소에 커밋된 Git 관리 내역들 까지 로컬 컴퓨터에 복사되고
- 이후 내 로컬 컴퓨터에서도 해당 프로젝트가 계속 Git으로 관리됨
[실제 clone후 , 다운로드 받은 프로젝트 폴더로 들어가면]
- git log 를 통해 이전 커밋 내역들을 확인할 수 있다.
[내 로컬 브랜치와 , 이 로컬 프로젝트와 연동된 원격 저장소의 브랜치를 모두 조회]
- git branch -a