본문 바로가기

TIL

Git & Github (22.06.17 TIL)

* 어떻게 공부할 것인가?

  프로그래밍을 잘하려면 어떻게 해야할까? 하는 생각이 항상 있었는데 첫 강의에서 해답을 찾은 것 같다.

  젓가락질 하듯이 자주자주 써서 숙련도를 올리는게 핵심이다.

 

* Git?

  우리가 작업한 코드들의 버전을 관리하기 위한 시스템. 로컬 저장소에서 관리를 할 수도 있고,

  github를 같이 활용하면 원격저장소에 로컬저장소 파일들을 동기화할 수 있다.

  

* 커밋 

  각각의 버전을 나타내는 개체. 저장과 같은 기능이라고 생각하면 편하다. 각각의 커밋은 특정한 코드를 가지고 있고, 이를 이용해 버전관리    를 한다.

 

* git 명령어(CLI)

  • git init : 현재 디렉토리에 깃을 시작한다.(버전관리 시작)
  • git status
    • 현재 우리 파일관리가 어떤 단계(staged, unstaged)인지 보여주는 명령어
    • 습관적으로 쳐서 어떤 상태인지 파악하는 것이 중요하다.
    • git diff와 세트로 사용하면 전후로 어떤 변화가 생겼는지 파악할 수 있다.
  • 원격저장소에 연결하는 방법
    • github 홈페이지에 들어가서 ssh 주소 카피
    • git remote add 원격저장소 이름 + ssh 주소
      • 보통 원격저장소 이름을 origin으로 씀. 아주 강력한 관례이다.
  • git remote
    • 연결된 원격 저장소를 확인할 수 있다.
  • git fetch origin : .git 파일 안으로 원격저장소의 정보를 받아온다. 원격저장소의 브랜치를 사용하고 싶다면 무조건 먼저 진행해주어야 한다.
  • git switch -c main origin/main
    • -c : create
    • main브랜치를 만든다. 근데 그 정보는 원격저장소 origin의 main에 있는 내용을 가져온다.
    • main도 origin처럼 관습적으로 쓰는 브랜치 이름이다.
    • 원격저장소에 있는 파일을 실제로 동기화하는 단계
  • git diff
    • 변경된 내용을 확인할 수 있다. (근데 어느시점을 기준으로?)
  • git add
    • 수정된 파일을 staging area로 올려준다.
    • 파일이름 앞부분 적고 탭하면 나머지가 자동완성 된다.
    • 수정에는 새로운 파일 추가도 포함이 된다.
  • git commit
    • 커밋을 진행하는 단계이며, vim에서 커밋 제목과 내용을 기입할 수 있다.
  • git push
    • git push origin main
      • 우리가 commit한 것들을 origin의 main브랜치에 push한다.
  • git restore
    • git restore name
      • 수정된 내용을 (unstaged 내용) 원상태로 되돌리는 명령어. 실제 파일을 수정전으로 돌린다.
    • —staged
      • staged(add)된 친구들을 다시 unstaged로 내려보내는 명령어
  • git log
    • 여태까지 했던 커밋을 전부 볼 수 있다.
    • — graph붙이면 브랜치간의 관계를 볼 수 있다.

 

* Github

  원격저장소에서 깃을 사용 가능하게 도와주는 도구이다.

  Readme 파일을 이용해 til을 할때도 사용한다.

 

 

* vim

  터미널에서 이용할 수 있는 텍스트 에디터이다. 아래와 같은 단축키를 가지고 있다.

  • i : Insert
  • esc : 모드 중지
  • :wq : 저장하고 나가기.
  • :q! : 강제 탈출
  • :q : 그냥 탈출
  • 0 : 현재 행의 처음으로 이동
  • $ : 현재 행의 끝으로 이동
  • x : 한 글자 삭제
  • u : undo

 

* Til(Today I Learned)

   오늘배운 것을 매일 매일 기록하는 학습방법

  • 아샬님은 readme 파일에 어떤 것을 공부했는지 명령어 위주로 정리해놓았다.
  • 날짜별 정리가 아닌 주제별로 정리해야한다.