Dev/Git

[AI class day11] Git TIL

makeitworth 2021. 5. 4. 16:20

감상:

T academy 와 ssacxfast campus, codecademy에서 무료 3번이나 수강했던 git 활용 강의

프로그래머스 데브 코스 강의에 또 나왔다.

그만큼 중요하고, 또 그만큼 능숙하게 활용하는 것이 쉽지 않다는 뜻이리라.

특강만 계속 들었을 뿐 나도 사실 꾸준히 커밋을 하지 못했다.

계속 수업을 듣다보니 개인 프로젝트를 진행하기 버거웠고, 팀으로 작업한 적이 별로 없어서.

 

그렇게 안쓰면 또 까먹고 못쓰게 되는 거라 다들 깃헙 블로그라도 하라 하는 것 같다.

 

이번 주는 비교적 공부하는 내용이 가벼우므로, 이를 활용해 알고리즘 복습을 하기로 했다. <파이썬 알고리즘 인터뷰>  책을 보면서 목차에 따라 차근 차근 리트코드 문제를 풀어보는 중.

오늘은 6장 문제 3개를 풀어보고 복습과 정리가 필요한 부분은 따로 블로그의 파이썬 정리 카테고리 에 포스팅까지 했다.

문제 풀이 역시 포스팅을 할 생각인데, 아직까지는 비교적 간단한 문제들만 풀어서 문제 풀이 포스팅은 하지 않았다.

 

 

1. Git

  • 분산 버전 관리 시스템
  • 프로젝트는 repository 단위로 관리됨
  • 저장소는 중앙의 원격 저장소와 실제 작업이 이뤄지는 여러 개의 로컬 저장소로 구성
  • 원격 저장소와 로컬 저장소의 사이는 push/pull 을 통하여 버전 관리됨
  • 로컬 저장소는 git으로 원격 저장소는 git hub로 관리

git 시작하기

1. 로컬 저장소 생성

git init

현재 작업중인 디렉토리를 git 저장소로 지정

 

2. local <-> remote

  • LOCAL에서 REMOTE(Repository)로
    1. git add . : Working Directory -> Staging Area
    2. git commit : Staging Area -> Local Repository
    3. git push : Local Repository -> Remote Repository
  • REMOTE(Repository)에서 LOCAL로
    1. git pull : Remote Repository -> Repository
    2. git reset : Staging Area -> Working Directory

3. 확인

  • git status : 현재 git 저장소의 상태 확인
  • git log : commit log 확인

2. Git branch

여기서 부터 조금 헷갈리고 복잡해지기 시작한다.

하나의 작업을 버전 관리하기 위해 여러 분기점을 만들고 각기 다른 branch(가지)로 작업하고 관리한다.

예전에 연습했을 때 자꾸 내가 새로 작업해야 할 branch가 아닌 엉뚱한 곳에서 새 작업을 하고 그래서 꼬였던 것이 생각난다.

 

 

3. Git hub

cloud remote repository service

내 local 컴퓨터가 아닌 remote한 환경에 버전 관리 시스템을 이용하기 위해서 git hub 활용하기

깃허브 계정을 만들고 새로운 repository 생성하는 연습,

그리고 그 새로운 repository를 clone하여 local에서 작업할 수 있게 만드는 연습을 했다.

4. 과제 제출

간단하게 선생님 계정에서 레포를 fork 하고, 내 local 에 clone 한다음, 수정

다시 내 깃허브, 즉 remote repo에 push하고, 그걸 원래 선생님 계정에 pull request 까지 하는 과정이 하나의 과제였다.

 

git 강의도 듣고, 간단하게 연습도 해봤지만, 협업을 한 경우가 거의 없었기에 pull request가 생소해서 한참 헤맸다.

'Dev > Git' 카테고리의 다른 글

git commit message convention 깃 커밋 메세지 컨벤션  (0) 2021.05.27