코드스테이츠 7일차

안형준·2022년 5월 3일
0

코드스테이츠

목록 보기
7/32
post-thumbnail

1차 학습목표

  1. Git의 환경설정을 할 수 있다.
  2. 버전 관리 시스템의 필요성을 이해할 수 있다.
  3. Github과 Git의 관계에 대해 이해할 수 있다.
  4. Repository에 대해 이해할 수 있다.
    Local Repository와 Remote Repository의 차이를 이해할 수 있다.
버전 관리 시스템(Version Control System) : 텍스트 에디터에서는 코드를 수정한 뒤 에디터를 종료했다면, 다시 실행한 텍스트 에디터에서 이전 코드로 돌아갈 수 없기에 이런 경우를 위해서 이전에 작성한 내용을 보존해주는 시스템이다.

Git이란 개발자의 코드를 효율적으로 관리하기 위해서 개발된 ‘분산형 버전 관리 시스템’이다.
특정 시점에 생성된 백업 복사본을 스냅샷특정 시점에 생성된 백업 복사본을 스냅샷이라고 하고 하나하나 스냅샷을 만들어 주는 작업을 commit이라고 한다.

Git으로 관리되는 폴더를 Git repository 라고 한다.
Git repository 는 Remote Repository와 Local Repository 두 종류의 저장소를 제공한다.
작업할 때는 Local Repository에서 할 수 있고 내가 작업한 코드를 공유하려면 Remote Repository에 업로드해 여러 사람이 함께 공유할 수 있으며, 다른 사람이 Remote Repository에 올려놓은 소스 코드를 내 Local Repository 로 가지고 올 수도 있다.

React 프로젝트에 contribute을 하기 위해서는 먼저 React 원격 저장소를 내 원격 저장소로 가지고 오는 작업이 필요하다. 그 과정을 Fork라고 한다.
Remote Repository에 있는 코드를 내 컴퓨터로 가지고 오는 과정을 Clone이라고 한다.
내 컴퓨터에서 React 소스코드 변경 작업을 완료 후 이 변경된 내용을 ommit을 통해 저장해 준 뒤, Remote Repository에 반대로 올려주는 작업이 필요하다. 이 과정을 Push라고 한다.
그런데 Remote Repository에서 변경 사항이 있을 때 Local Repository 로 가져오는 Pull 작업도 가능하다.

2차 학습목표

  1. 상황에 따라 Github의 기능과 Git 명령어를 사용할 수 있다.
  2. Git의 세 가지 영역 및 상태를 이해할 수 있다. (Committed, modified, staged)
  3. Remote Repository를 페어와 공유하며 협업을 할 수 있다.
  4. 충돌이 발생했을 경우 해결할 수 있다.
  5. Git Repository의 commit되지 않은 변경 사항을 취소할 수 있다.
  6. 협업을 위한 git 개념을 이해할 수 있다.
    ssh는 Secure shell의 줄임말(Secure SHell)로, 보안이 강화된 shell 접속을 뜻한다.
    CLI 환경(터미널)에서 다른 PC에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자를 인증한다.
ssh는 Secure shell의 줄임말(Secure SHell)로, 보안이 강화된 shell 접속을 뜻한다.
CLI 환경(터미널)에서 다른 PC에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자를 인증한다.

[git 명령어 정리]

내 local로 이동
git clone Repo URL 
git remote -v

내 local에서 수정 및 commit
nano,인텔리제이 등의 에디터를 통해 nano로 수정할 수 있다.

git restore <파일명>
commit 되지 않은 변경사항을 폐기할 때 처음 clone을 받았던 상태로 되돌리는 명령어

git add <change file> 로 staging area에 추가해준다.
git .
Staging area에 모든 파일을 한번에 추가한다.

git commit -m '내용'을 통해 commit 및 메세지를 남겨준다.

방금(가장 최신의) commit한 내용을 취소하고 싶다면
git reset HEAD^

내 커밋 로그를 확인하는 명령어
git log

git push origin master(or other branch name)을 통해 자신의 github(Remote Repository)로 push해준다.

Pull Reques(PR)
Remote Repository에 Push 해 놓은 변경 사항에 대해서 함께 작업하는 다른 사람들에게 알리는 것을 말한다.

[협동(페어, 팀) 프로그래밍 git]

git init
local working directory를 Git의 관리 하에 들어가게 해 주려고 할때 사용

git remote add origin <Repository 주소>
Local Repository를 Remote Repository와 연결하는 작업

git remote add 이름 <Repository 주소>
다른 이의 Repository와 연결할 때 사용

git pull 이름 master
'이름'의 코드를 내 컴퓨터로 받아오는 작업

git clone Repo URL 
페어와 연결 후 페어가 작성한 코드를 내 local로 이동

git remote -v
remote Repository가 잘 연결되었는지 확인한다.

nano, 인텔리제이 등 에디터를 통해 파일을 수정할 수 있고,
git add <change file> 로 staging area에 추가해준다

git commit -m '내용'을 통해 커밋 및 메세지를 남겨준다.
그냥 git commit을 하면 자동으로 메시지가 생성된다.

git push origin master(or other branch name)을 통해 자신의 github로 push해준다.

오늘은 Git에 대한 전반적인 개념을 학습했다. Github에 대해서는 들어본 적은 있지만 직접적으로 사용한 적은 없었다. 하지만 주변 개발자 분들의 조언을 들으면 Git, Github에 대한 지식은 있어야 기본 소양을 갖추게 되는 것이라고 하여 오늘 수업이 기대되었다. 하지만 중간에 윈도우 오류가 지속 발생하여 처음부터 다시 한다는 생각으로 PC 초기화 후에 진행하게 되었고, 그 과정 속에서 오류에 대한 대처를 더더욱 배울 수 있었던 것 같다. Github는 개발자들의 SNS와 같은 개념으로 앞으로도 더욱 친해질 수 있도록 많이 사용해 봐야 할 것 같다. 오늘도 정말 고생했고 내일도 파이팅!

profile
개발 공부

0개의 댓글