210223 Tue

Sunny·2021년 4월 3일
0

Today I Learned

목록 보기
2/88

학습 내용

  • 오늘은 Git과 Github에 관해 배웠다.
  • Git: Most popular VCS
  • Version Control System 버전 관리 시스템
  • Git: 변경이력 저장할 수 있는 툴
  • GitHub 여러명과 협업하거나 내가 백업 용도로 서버를 제공하는 곳

- Git에서의 작업 흐름 (3개 공간)
1. Working Directory
2. Staging Area
3. git directory (Repository)

  • Add a.txt하면 Staging area 로 가고, 커밋하면 .git directory로 감.
  • Repository: 변경이력을 저장한 저장소
  • Repository (Local & remote)
  • Remove repository: 위치만 다를 뿐 문제되는 부분은 없음

예전 시점으로 돌아가는 방법

  • Revert: 하나의 커밋을 그대로 다시 돌리는 행위
  • Reset: 이 커밋까지 돌아가버림
  • Branch란? 작업의 흐름을 가지치기한다
  • Why? 이 시점에서 A, B 방법으로 코드를 작성하고 싶은데 어떤게 나은지 모르겠음. 진짜 중요한 코드의 흐름과 별개로 가지고 가고 싶을 때 유용함.
    e.g. a.txt & b.txt 따로 테스트하고 싶은데 지금 이 상태를 망가뜨리고 싶지 않음.
  • 이 상태의 branch를 또 하나 만들면 됨.
  • 나중에 테스트 괜찮으면 merge하고 (실제 코드에 반영)
  • 만약 별로면 그 가지를 잘라버리면 됨 (없애버림)

문제점 / 고민한 점

1. git checkout 터미널 에러

git checkout -t origin/sunny
에러 메시지: fatal: 'origin/sunny' is not a commit and a branch 'sunny' cannot be created from it

2. 깃허브 클론 후 푸쉬 안됨

Yun의 repository를 clone한 후 다시 push 하려 했으나 안됨.
에러 메시지: remote: Permission to 깃주소 denied.
fatal: unable to access 깃주소. The requested URL returned error: 403

해결 방법

1. git checkout 터미널 에러

원격 저장소에 어떤 브랜치가 있는지 먼저 확인을 해야 함. 깃헙에 보니 이미 저장된 브랜치가 있었음. 각자 이름에 맞게 생성된 브랜치명 제대로 터미널에 쓰니 맞게 됨.

해결 후: git checkout -t origin/2-sunny
Branch '2-sunny' set up to track remote branch '2-sunny' from 'origin'.
Switched to a new branch '2-sunny'

2. 깃허브 클론 후 푸쉬 안됨

Coda도 같은 에러 메시지가 떴으나 터미널 명령어를 통해 permission 이슈 해결.
(https://cheonjoosung.github.io/blog/git-push-error)
동일한 방법 시도했으나 잘 안됨.

Yun이 깃허브에서 Collaborator로 초대한 이후 다시 시도했더니 되었음.

Yun, Coda & 1기 선배들의 도움을 받아 해결함 😊

Today's lesson

원격 저장소에 코드를 보내려면 적절한 권한이 있어야 함.
너무 헤매는 것 같을 땐 적시에 제대로 질문하는 것도 능력이다!

profile
iOS Developer

1개의 댓글

comment-user-thumbnail
2021년 4월 12일

잘 봤읍니다

답글 달기