TIL 22. git / github +commit 하기

윤현묵·2021년 8월 12일
0

Git & Github

목록 보기
1/1
post-thumbnail

1. Git이란?

깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. - 위키백과

  • 버전 관리 시스템이란?
    -. 변경점 관리: 어떤 내용을 누가 작성해서 어느 시점에 들어갔는지 확인할 수 있도록 해줌
    -. 버전 관리: 특정 시점에 꼬리표(Tag)를 달아 버전을 표시해주고, 브랜치(Branch) 등으로 동시에 여러 버전을 개발할 수 있게 해줌
    -. 백업&복구: 무언가가 잘못되었을 때 다시 특정 시점으로 돌아가게 해 주고, 사고로 내용이
       날아간 경우에도 복구할 수 있게 해줌
    -. 협업: 같이 일하는 사람들에게 수정사항을 쉽게 공유

버전 관리 시스템으로 유명한 서비스는 SVN, GIT 정도가 있습니다.
SVN은 중앙 버전 관리 시스템(CVCS)으로 로컬 저장소가 따로 없으며, 특정 저장소를 만들어서 관리하며, SVN 서버가 다운이 된다면, 다른 사람과 협업 또는 버전 관리를 할 수 없게 됩니다.

GIT은 분산 버전 관리 시스템(DVCS)으로 로컬 저장소, 서버 저장소 독립적으로 관리를 할 수 있으며, 만약 서버의 저장소가 날아가더라도 로컬 저장소에 남아있는 코드로 다시 만들 수 있습니다.

Github란?
Git을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스입니다. Github에서 공개되는 소스 코드는 모두 Git으로 관리됩니다. 내가 작업했던 것뿐만 아니라 다른 개발자들이 작업한 것들을 눈으로 편하게 볼 수 있습니다. Git을 사용하여 commit을 하면 Github에 이력이 남게 됩니다.

2. Git의 주용 용어

-. Repository: 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인할 수 있습니다.
-. Working Tree: 저장소의 어느 한 시점을 바라보는 작업자의 현재 시점입니다.
-. Staging Area: 저장소에 커밋하기 전에 커밋을 준비하는 위치입니다.
-. Commit: 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업입니다.
-. Head: 현재 작업중인 Branch를 가리키는 것입니다.
-. Branch: 가지 또는 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여 작업을 합니다.
-. Merge: 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미합니다.

3. Git commit 하기

-. 먼저 본인이 commit할 폴더와 작업파일을 생성합니다.
-. 터미널을 사용해 commit을 진행할 폴더의 경로로 이동합니다.
-. git init을 입력하여 저장소를 생성(초기화)합니다.
-. git status를 사용하여 현재의 git 상태를 주기적으로 확인합니다.
-. git add .을 입력하여 작업 파일을 모두 추가해 깃허브에 올리기 위한 staging area에 올립니다.
-. git commit -m "메세지"를 하여 commit을 진행합니다. 메세지에는 파일과 관련된 멘트를 작성하여 관리하면 더욱 좋겠죠? :)
-. git log를 입력하면 commit 히스토리를 확인할 수 있습니다.

-. 여기까지는 로컬에 저장하는 과정이고, push를 통해 로컬 저장소의 작업을 원격 저장소에 업로드해야 합니다.
-. 먼저 github 계정을 만들고 상단의 Repositories에서 new를 선택하여 push할 곳을 생성합니다.

-. 해당 주소를 복사하여 터미널에 git remote add origin https://github.com/fall031-muk/git24.git(본인 주소) 를 입력하여 업로드 경로를 설정해줍니다.

-. git push origin --all을 입력하여 origin 저장소에 모든 로컬 브랜치(Branch)를 푸쉬합니다. 브랜치란 저장소에 있던 내용을 동일하게 복사한 저장소를 일컫습니다.
-. 그러면 아래 사진과 같이 github에 commit 이력이 남아있는 것을 확인할 수 있습니다.

참고자료
https://kdinner.tistory.com/88
https://hackersstudy.tistory.com/49
https://ninano1109.tistory.com/2

profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글