[Git & Github] 난 코드로 시간여행을 해...

이승연·2020년 11월 25일
0

Git & Github

목록 보기
1/4
post-thumbnail

Git이란

버전관리시스템! Version Control System. 내 코드의 역사를 기록하는 멋진 프로그램.
왜 쓰냐?:

  • 최종.hwp 진짜최종.hwp 진짜진짜최종.hwp 다들 한번 해봤죠? 수정할 때 마다 파일을 새로 만들면 관리가 힘듬.
  • 언제든 이전 버전의 코드로 돌아갈 수 있음. 따라서 원인 파악이 쉽겠지?
  • 이력을 남기기 위해... 그러니까 누가 뭘 했는지 알기 위해!!
  • 협업이 가능하기 때문에!
    Git 외의 VCS는 많지만 Git이 전세계적으로 인기가 많음~

GitHub

  • git은 인터넷 없이 사용 가능. github는 인터넷이 꼭 필요한 호스팅 서비스.
  • git을 사용한 프로젝트의 저장소
  • 개발자들의 social network

소소한 git tip

  • &&를 쓰면 두가지 명령을 함께 수행할 수 있댜
  • .git 파일에 모든 히스토리가 들어있다.. 근데 git이 알아서 해주는거니까 건드리지 마
  • -m" 같은거를 flag라고 한다

내가 어떤 프로젝트의 한 기능을 구현했을 때 펼쳐지는 프로세스

  1. Git Repository에서 프로젝트 clone을 해온다.
  2. 내가 수정을 해볼 branch를 만든다 (main에 바로 올리지 않고! main이 실제로 배포되는 애들이다. 보통 새로운 기능을 구현할 때에는 feature/를 앞에 놓음).
  3. 내 branch로 체크아웃
  4. 열심히 파일 수정을 한다.
  5. 파일을 add하여 스테이징한다. 내 파일이 준비되었다고 알려주는 것.
  6. 커밋 & 커밋 메시지
  7. github repository에 있는 나의 branch로 push하기
  8. 이제 main으로 Pull Request(PR): 내가 작업했으니 확인하고 괜찮으면 main으로 가져가 주세요. 이 부분은 github 홈페이지에서에서 처리한다.
  9. 나의 코드가 괜찮으면 main에서 pull하여 merge된다. 즉, 나의 코드가 main이 된다.
  10. Remote(github)에서 main에 내 수정사항이 들어갔으니 local에도 나의 변경사항이 branch가 아니라 main이다~ 라는 사실을 알려줘야한다. 그래서 pull을 한번 더 함.

실습을 해보자

  • 내 데스크탑으로 가서 git이라는 폴더를 만들고 거기로 감
  • 아까 만든 git 폴더를 git repository로 만들자. (git init)
  • master이라는 애가 생겼다!
  • 그리고 여러가지 파일이 생겼네
  • status를 확인해보니 아직 commit할게 없다

  • lyla라는 vim 에디터를 쓴 파일을 만들었다.
  • 이런 에디터가 나올거다햐
  • status 확인해보니 빨간 색이네. 아직 커밋할 준비가 안되었다는 거다.(lyla2.md
  • 그럼 이걸 add하자
  • 그리고 또 status를 확인해보자: new file: lyla.md가 초록색으로 나와있네? commit할 준비가 되었다는 거다
  • commit하자! 잘 됐다.

  • 한번 더 status를 확인해보자. 깨끗하군. 굿!

  • master가 기본 (init을 하면 master가 기본이 된다... 요즘에는 pc 때문에 main으로 바꾼다는 소문도 들려온다...)
  • commit마다 해쉬가 있는데(저 노란색의 길고 긴 암호같은 거) 이걸 이용하면 누가 무엇을 언제 했는지 볼 수 있다. 그러니 메세지를 언제나 잘 기입하도록.
  • branch를 딴다 == clone을 한다.


  • 지금은 우선 아무데도 체크 안할거다


  • 지금 존재하는 repository가 도착할 github 주소를 알려준다
    - 내 로컬 저장소에게 remote 저장소의 주소를 보내준당(add)
  • git branch -M main은 master을 main이라는 이름으로 바꿔주는 애다. 아까 말한 pc문제 참고
  • git push -u origin main 최초 한번만....하면 된다.... 아까 주소를 정해줬으니 이제 그쪽으로 내용을 밀어주는거다!

  • 이제 github에 들어가면 잘 들어간걸 확인할 수 있다
  • 여기서 표 오른쪽 상단에 있는 2 commits라고 써져있는 애를 클릭하면 뭘 어떻게 바꿨는지 볼 수 있다.

Convention

0개의 댓글