👩🏻‍💻 TIL

git 과 github 개념

ji-hyun 2021. 9. 16. 22:05

앱이나 웹사이트나 게임 등 무언가 만들기 시작하면 파일들이 다 담기는 프로젝트 폴더가 있다.

 

 

그 폴더로 이동(cd) 하고 git 을 시작하면..   (혹은 vs code 프로그램에서 crtl + ` 을 눌러서 git 을 시작할 수 있다. 동시에 현재폴더로 이동명령) 

$ git init

-> 지금부터 이 모든 폴더의 수정 내역들이 저장되는 .git 이라는 숨김 폴더가 생긴다.

 

 

 

 

 

 

현재 작업한 폴더를 백업하고 싶다면..

$ git commit -m "(작업수행 내용)"

-> "(작업수행 내용)"에 들어가야 할 것은 이러이러한 작업을 수행했다 정도의 코멘트를 달아준다. 그 다음 commit 과정이 일어나고 박제가 된다고 볼 수 있다. 이때 박제를 여러번 했다고 해서 용량이 엄청 커지는 것은 아니고 변경 사항만 기록되는 것이다.

 

 

 

 

프로젝트를 과거의 상황으로 되돌려 지고 싶을 때가 존재할 수 도 있다. 그렇다면 이제까지 박제한 내역들을 확인하는 명령어

$ git logs

 

 

 

박제한 내역들이 나오고 아래와 같이..

$ git reset --hard 3r8da0

명령어를 쳐주면 3r8da0 의 과거 상태로 복원된다. "정말 Git똥차다고 볼 수 있다!"

 

 

 

 

 

개발하다가 보면 이 기능을 넣는게 좋을까? 디자인을 바꿀까 말까 하는 고민이 생긴다. 결정하기 애매할 때..

$ git branch "(브랜치명)"

branch 가 나뭇가지라는 뜻을 갖고 있고 git branchgit 용어로 정의해보면 "branch(가지)를 딴다" 라고 할 수 있다.

 

 

 

 

 

좀 더 이해 쉽게 그림을 가져와서 정리를 해보겠다.

 

 

주된 코드는 파란 줄로 이루어진 것들인데, 여기서 시도해볼 코드는 보라색 줄이다. 시도해보는 과정을 여러차례 거친 후 "괜찮다, 적용하고 싶다" 하면 주된 코드(main branch)와 병합(merge) 할 수 있다. 그러면 위에 그림과 같이 이어지게 되는 것이다.

$ git merge "(브랜치명)"

 

git 의 이러한 기능들은 매번 이런 버전, 저런 버전 따로 복사해서 저장해둘 필요가 없다는 것이 큰 장점인 것 같다.

 

 

 

 

 

git 은 순서대로, 체계적으로 관리되기 때문에 나중에 문제가 발생하면 누가 작업했는지 알 수 있고 얼마든 코드들을 과거시점으로 되돌려서 문제를 해결할 수 있다.

 

 

 

 

 

Github

git은 버전관리를 위한 소프트웨어이고 github는 이 git으로 저장되어서 원격 전송된 내역들이 저장되는 공간을 제공하는 "서비스"이다. git은 카메라, github는 유튜브와 같다고 생각하면 된다.

 

 

git 으로 관리하는 모든 코드, 프로젝트를 얼마든지 github 에 무료로 전송되서 사용할 수 있다.

github는 오픈소스 프로젝트들이 많고 수많은 자발적 참가자들에 의해 발전하는 곳이다. 그래서 github은 자유소프트웨어 혹은 오픈소스의 성지라고 불려진다.

 

 

 

 

 

출처

https://youtu.be/Bd35Ze7-dIw

 

'👩🏻‍💻 TIL' 카테고리의 다른 글

2021_09_24_TIL  (0) 2021.09.24
2021_09_23_TIL  (0) 2021.09.23
dos 명령어 cd  (0) 2021.07.01
2021_06_28_TIL  (0) 2021.06.28
Sqld 2과목 3장 필기 정리  (0) 2021.05.12