https://www.youtube.com/watch?v=1I3hMwQU6GU
* 위 영상을 보면서 적은 요약본입니다.
해당 블로그 글을 보기 전 아래 블로그 글을 보고오길 추천합니다!
2023.03.01 - [dev/Git GitHub] - Git 사용방법 - 기초
GitHub?
GitHub은 Git으로 관리하는 프로젝트들을 온라인 공간에 공유해서 프로젝트 구성원들이 함꼐 소프트웨어를 만들어갈 수 있도록 도와주는 서비스이다.
그럼 굳이 일반 대중적인 클라우드가 아닌 GitHub을 쓰는 이유는 무엇일까?
일반적인 클라우드를 사용하게 되면 같은 프로젝트를 공유하는 팀원들이 동시다발적으로 한 소프트웨어를 만들어 관리하기에는 무리가 있다. GitHub은 모든 업로드와 다운로드를 commit 단위로 주고 받는다. 완료한 파일을 커밋해서 올리기 위해서는 반드시 GitHub상의 최신 커밋을 먼저 다운받아서 자기 컴퓨터에 있는 프로젝트에 적용부터 하도록 강제한다. 만약 커밋상에 충돌사항이 있다면 그것도 자기 컴퓨터에서 해결해서 병합을 해야 비로소 GitHub에 자기가 작업한 커밋을 공유공간에 업로드 할 수 있다.
GitHub설정 - mac 기준
1. Personal access token 만들기
2021년 8월 13일 기준으로 GitHub은 더이상 패스워드 방식의 인증이 아닌 더 안정적인 인증방식을 도입했는데 이게 바로 token 이다.
개인 프로젝트를 GitHub에 연동하기 위해선 개인 github token이 필요하다.
- 우측 상단의 프로필 - Settings
- Developer Settings
- Personal access tokens - Generate new token
- repo 및 원하는 기능에 체크, 기간 설정 뒤 Generate token
- 토큰 안전한 곳에 보관해 둘 것
위의 창은 한번 끄게 되면 저 번호를 다시는 볼 수 없기 때문에 꼭 복사해서 개인 메모장 등에 적어놓는것이 좋다.
복사해둔 토큰은 Git에다 올릴때마다 일일이 입력할 순 있지만 많이 번거롭기 때문에 컴퓨터에 기본으로 설정할 수 있다.
2. token 개인 컴퓨터에 설정하기
- Keychain Access 앱 실행
- github의 인터넷 암호 항목 선택
- 암호보기를 체크한 뒤 (맥 비밀번호를 치라고 하면 입력)
- 암호를 token 암호로 변경
3. GitHub에 새 Repository 생성
1. 프로필을 누른 후 'you repositories' 클릭
2. 오른쪽 상단의 'New' 버튼 클릭
3. Repository name 을 설정한 후 creat repository 클릭
- Public: 모두에게 보일 수 있는 프로젝트
- Private: 허용된 인원만 볼 수 있는 프로젝트
4. 아래와 같은 화면이 나오면 성공적으로 github 저장소 공간이 만들어진것 각 프로젝트 마다 이런 저장소(repository)가 있다고 보면 된다.
4. 원격 저장소 사용하기
초기 레파지토리 생성시 README.md 파일을 생성하지 않았을 경우 해당 화면이 나오지 않고, 아래와 같은 git 명령어가 나오게 됩니다. 똑같이 터미널에 입력해주시면 README.md파일이 GitHub 레파지토리로 들어가는 것을 확인할 수 있습니다
완료되면 위의 이미지 처럼 README.md 파일이 만들어지면서 전 Git시간에 만들었던 lion과 tigers도 같이 업로드 된게 보임
+ 복붙한 명령어는 무엇을 명령한 걸까요?
* 로컬의 Git 저장소에 원격 저장소로의 연결 추가
git remote add origin (원격 저장소 주소)
* GitHub 권장 - 기본 브랜치명을 'main'으로 변경
💡 이부분은 우리는 전 시간에 git config --global init.defaultbranch main 명령어로 브랜치명을 변경했었으니 굳이 하지 않아도 된다.
git branch -M main
* 로컬 저장소의 커밋 내역들 원격으로 push(업로드)
git push -u origin main
- -u 또는 --set-upstream : 현재 브랜치와 명시된 원격 브랜치 기본 연결 (여기선 연결된 원격은 'origin')
git remote 를 입력하면 현재 해당 프로젝트와 연결된 원격의 목록을 볼 수 있다.
위 명령어들 중 'origin'은 쉽게 말하면 폴더명으로 내가 다른것으로 변경할 수 있다. 추후에 다른 repository를 생성한 후 관리할때 다른 이름으로 설정해서 연결하고 push 하면 된다.맞게 이해한건지는 몰겠음..
5. 지금까지 업로드했던 거와는 반대로 repository에 있는 프로젝트를 로컬로 가져오기
🧨 저는 새로운 레파지토리를 기존 작업하고 있었던 폴더로 복사했다가 오류가 발생하여 고생했습니다 새로운 폴더를 만들어서 clon 하시는걸 추천합니다.
1. code 를 누른 후 아래 링크를 복사합니다.
2. 터미널에 아래 명령어 와 함께 복사한 링크를 같이 붙인 후 enter을 누릅니다.
*원격 저장소의 코드를 컴퓨터에 받아올 수 있는 명령어
git clone (원격 저장소 주소)
7. 커밋 당겨오기
GitHub엔 있고 내 컴퓨터에 없는 내용을 당겨와보자 기존 만들어놓은 repository에 아래 처럼 파일을 하나 추가했다.
*당겨올 수 있는 명령어
git pull
6. 변경된 일부 커밋 밀어내기
기존에 파일을 다운받았던 곳에 내용을 변경한 커밋으로 기존 커밋을 밀어낼때 사용합니다.
해당 명령어가 가능한 이유는 이미 위에서 git push -u origin main으로 대상 원격 브랜치가 지정되었기 때문에 가능
git push
1. 기존 lion.yaml 파일에서 일부 내용을 변경했다
2. git add . 로 변경된 파일을 담고 git commit -m 을 통해 커밋을 업데이트한다.
3. 이제 push를 통해 원격으로 변경된 내용을 GitHub으로 보내준다
++) git clone을 할때 다른 레파지토리 내용을 계속 작업했었던 폴더에 올렸다가 '재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가 거부 되었습니다' 오류가 발생했었다 아래 블로그는 해당 오류를 해결했던 과정이다.
2023.03.01 - [dev/Git GitHub] - Git오류 - 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가 거부되었습니다.
'dev > Git GitHub' 카테고리의 다른 글
Git오류 - 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가 거부되었습니다. (0) | 2023.03.01 |
---|---|
Git 사용방법 - 기초 (2) | 2023.03.01 |
댓글