728x90
개발자라면 가장 많이 사용하고, 코드 관리에 있어 가장 많이 의존하게 되는
github 사용을 위한 주요 명령어를 정리해보고자 한다.
Git과 Github이란?
Configuration Management Tool(형상관리도구) 중 하나이다.
즉 소프트웨어 개발의 코드들을 효과적으로 관리할 수 있게하는 도구인 것이다.
소스코드를 일일이 파일로 주고 받을 필요 없이, 같은 파일을 가지고 여러명이 동시에 수정하고 병합하는 병렬 개발이 가능하다. 즉 코드 관리뿐 아니라 협업에도 매우 유용한 툴이다.
Github이란 이러한 코드들을 관리하는 서버인 것이다.
즉 git으로 저장되고 관리되는 코드들을 직접 눈으로 보고 확인할 수 있도록 하는 하나의 웹사이트라고 생각하면 쉽다.
Git으로 저장되는 하나의 프로젝트들은 Github의 repositary(저장소)에 저장된다.
git은 처음 개발 공부를 시작했을 때, 가장 많이 들었던 도구 중 하나였다.
처음에는 익숙해지느라 시간이 좀 걸겼지만, 터미널 환경을 통한 git 코드 관리가 얼마나 편리한 건지 느끼게 되었다.
사용하다보니 주로 사용하는 깃 명령어들이 있어 그 명령어를 정리해보고자 한다.
주요 Git 명령어
git init
버전관리 하고 싶은 폴더에서 초기화를 준비하려 할 때, 해당 폴더에 들어가서 터미널 창에 해당 명령어를 실행한다.
새로운 프로젝트를 만들때
- 우선 새로운 깃헙에 새로운 저장소를 만들어야 한다.
- new 저장소를 만들고 난 이후, 해당 깃주소를 복사한다.
- 그리고 만들고자 하는 프로젝트를 에디터에서 실행한 후,
- git remote add origin "깃주소" 를 명령어에 입력한다.
- git branch -M main 명령어로 main 브랜치를 만들어준다.
- git push -u origin main 명령어로 기본 셋팅들을 깃 레포에 넣어주면 초기 셋팅 성공
프로젝트 소스 코드 저장및 관리하기
- git add "파일명" 코드를 변경한 파일을 저장하는 명령어이다
- -> git add ." 변경된 모든 파일을 한꺼번에 저장하는 명령어
- git commit -m "커밋 메시지" git 저장소에 파일을 저장하는 명령어
- -> 여기서 커밋 메시지는 내가 작성하고 저장하는 코드의 진행 상황을 간략히 적어주면 된다.
- git push origin "브랜치명" git 저장소에 저장한 코드들을 github 저장소의 브랜치에 저장하고 등록하는 명령어이다.->
가장 기본적인 branch는 master이다.이제 main이 기본 branch로 바꼈당. 따라서 git push origin master 명령어가 주로 사용된다. - -> branch란? 단어 의미 그대로 가지라는 뜻이다. 즉, 저장소 내의 저장소들이다. 즉 repositary가 하나의 집이라면, branch는 각각의 방들이라고 보면 된다.
branch를 만들고 관리하기
- git branch 현재 위치한 branch가 어디인지 확인하는 명령어이다.
- git checkout -b "만들고자 하는 branch명" 새로운 branch를 만드는 명령어이다.
- git checkout "이동하고자하는 branch명" branch를 이동하는 명령어이다.
- ->새로운 branch를 만들때는 main branch로 돌아간 후, 다시 새로 만다는 것이 차후에 관리하기가 좋다. 왜냐면 위치한 branch에서 branch를 만들면 가지에서 새로운 가지가 펼쳐지는 것이기 때문이다.
git으로 페어와 협업하기
- git remote add "저장하고자 하는 페어이름" "페어 깃주소" 페어의 저장소를 내 git에 페어로 등록하기
- git remote -v 현재 내 git에 등록된 저장소의 현황 확인하기
- git pull "가져오고자 하는 페어이름" "페어 저장소의 branch" 페어가 작업한 코드들을 내 저장소에 가져오기
따라서 내 프로젝트의 변경사항을 git에 저장하고 다시 pull을 진행하면 된다.b. pull 진행한 이후, 같은 파일 내에 내가 작성한 코드와 페어가 작성한 코드가 다른 경우에, 충돌이 발생하게 된다. - 이때 에디터 내에서 내 코드로 저장할지 페어의 코드로 저장할지를 선택할 수 있다.
- a. 아예 pull이 진행안되는 경우, 내 코드의 변경사항을 아직 저장하지 않은 경우이다.
- -> 이 때 내 코드와 페어 코드간에 충돌이 날 수 있다.
728x90
'SW Engineering > Dev' 카테고리의 다른 글
Django vs Flask / React (0) | 2021.01.04 |
---|---|
소셜 로그인_네이티브 앱키/javascript키/Rest API키 차이점 (0) | 2020.11.27 |
소셜로그인기능 구현(2)_github social 로그인 (0) | 2020.11.27 |
소셜로그인 구현하기(1)_그 원리와 절차에 대해서 (0) | 2020.11.27 |
Git 에러: refs/heads/master 해결하기 (0) | 2020.11.10 |