[Git] #5. Git & GitHub

김상웅·2022년 6월 2일
0

[Computer Science]

목록 보기
5/10

✅ 이번 포스팅에서는


코드를 모두 로컬 컴퓨터나 이메일, USB에 저장해놓고 공유를 할 순 없습니다.

우리는 효율성을 극대화해야하는 개발자니까요^^

이번 포스팅에서는 개발자들의 소셜네트워크라고 불리는 git & github에 대해 알아보겠습니다.

이전부터 써왔고, 정리한 내용도 있지만, 좀 더 보기 편하기 위해 블로그 포스팅을 해보겠습니다.

정리한 내용은 gihub에서도 보실 수 있습니다.



✅ Git이란?

Version Control System을 의미합니다, 버전 관리 시스템이죠 (영문과의 직독직해 실력)

개발자스러운 언어로는 프로젝트의 버전관리를 도와주는 시스템이라고 할 수 있겠습니다.


1. 버전이란?

버전이라는 단어를 들으면 어느 정도 이미지가 그려지긴 합니다만 도대체 어떤 의미인지 정의내리기가 힘들 것입니다.

예를 들어보겠습니다.
대학생들이 과제를 하면서 다음과 같은 파워포인트 파일을 저장하는 것을 본 적이 있을 것입니다.

최종 / 진짜최종 / 진짜진짜최종 / 이게_찐_최종

개인 프로젝트의 경우에는 상관이 없지만 단체 프로젝트를 하는 경우 뭐가 최종인지 모르는 문제가 발생합니다

Git에서는 이런 문제를 보완해줍니다.
하나의 파일에서 변경 사항과 변경 내역 등을 모두 관리할 수 있게 해줍니다.

누가 / 언제 / 어떤 변경사항? 등이 포함되는 것이죠.


2. 코드마다 버전관리를 하는 이유는?

그럼 우리, 개발자들이 작성한 코드마다 버전관리를 하는 이유는 무엇일까요?

네가지 정도의 이유를 들 수 있겠습니다:

  1. 새로운 파일 생성? No!
    수정하기 전 기존 파일을 갖고 있는 상태에서
    수정을 한 새로운 파일을 생성할 수 있게 됩니다.
  1. 이전 버전 = commit
    수정하기 전 기존 파일로 언제든지 돌아갈 수 있습니다.
    commit을 통해 어떤 코드를 작성했는지 보존해주기 때문이죠.

  2. 이력
    위의 맥락과 비슷합니다.
    수정하기 전의 코드가 남는 것은 그 작업의 이력을 남기는 것과 같습니다.

  3. 협업
    다음 내용과 연결되는 중요한 부분인데요.
    개발자는 협업의 과정을 거쳐 결과물을 내야합니다.
    하나의 프로젝트에서 다양한 코드를 공유하고 관리하기 위해 버전관리를 해야합니다.



✅ Github이란?


Git을 사용한 프로젝트들의 원격 저장소를 의미합니다.

개발자들의 social network라고도 불리죠.

Git을 이용하여 버전관리를 한 프로젝트들을 관리하게 해주는 호스팅 서비스를 가리킵니다.



📌 명령어


터미널을 통해 git과 github에서 버전 관리를 할 수 있습니다.

아래에 있는 주요 명령어를 연습해두면 버전 관리를 쉽게 할 수 있을 것입니다.

git init

git init

깃을 시작하겠다! 선언해줍니다.
초기화 설정 단계라고 할 수 있습니다.

git remote add origin "url"

git remove add origin "github remote repo url"

로컬 레포와 원격 레포를 연동하는 명령어입니다.

commit 명령어 이후에 push를 통해 github 원격 레포지토리에 동기화하고 싶다면
다음 명령어를 입력한 이후 push를 해주어야합니다.

git status

git status

어떤 파일이 add commit 되었는지 확인할 수 있는 명령어입니다.

git add

git add "name"

수정한 파일을 add, 이력을 남기는 명령어입니다.

name 변경된 코드 파일을 add합니다.

. 변경된 모든 코드 파일을 add합니다.

git commit

git commit -m "message"

add한 파일(들)의 기록을 남겨줍니다.

message에는 어떤 변경사항이 있는지 기록을 해주면 됩니다.

git log

git log

commit된 파일의 이력을 볼 수 있는 명령어입니다.

git reset

git reset --hard "commit_id"

이전 commit으로 되돌리는 명령어입니다.

git log를 통해 commit_id를 확인할 수 있으며 해당 commit 버전으로 되돌려줍니다

git rm -r --cached .

git rm -r --cached .

다음 명령어를 통해 캐시를 삭제할 수 있습니다.

프로젝트를 하면서 github 원격 레포에 올리면 안되는 파일을 .gitignore 파일에 지정을 해주어야합니다.

gitignore 파일을 생성하기 전 주요 파일을 push하였다면, log에 남아있는 정보도 같이 삭제해주어야 하기 때문에 다음 명령어를 활용할 수 있습니다.


✅ 마치면서

Git kraken이라는 툴을 이용하여 깃헙에 프로젝트 코드 파일을 commit 했던 경험이 있다.

그때는 터미널 명령어가 어려웠고, 터미널이라는 개념 자체가 어려워서 그랬던 것 같다.

알고 보니 별 거 없네..가 아니라

이외에도 다양한 명령어들이 있기 때문에 지속적인 학습이 필요할 것 같다!!!

profile
누구나 이해할 수 있도록

0개의 댓글