Git이란 ?
여러 개발자들 간 개발 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템
- 개발자의 Commit History를 통해 버전관리가 용이함
- 개발 프로젝트의 local 저장소와 원격 저장소를 분리하여 독립적인 코드 관리가 가능함
- 코드에 결함이 있을 시, Commit History를 살펴 확인해 복원이 빠르며, 코드 리뷰를 비롯해 협업이 최적화된 시스템
Branch
Commit 사이를 가볍게 이동할 수 있는 포인터 같은 것
특정 Commit으로부터 분기되는 포인터, 개발자들이 개발을 진행하고 있는 환경 또는 흐름
새로운 Branch가 생성되더라도 기존의 Main Branch는 유지
- 이후, 분기된 Branch를 다시 하나의 Branch로 합치는 것으로, Merge 과정에서 Conflict가 많이 발생
- Conflict 발생하지 않도록, 주기적으로 Pull로 Remote Repository에서 가져와주면서 작업할 수 있도록 해야 함
- 여러 Branch들을 한꺼번에 Merge할 때 차례차례 Main Branch로 병합한 상태에서 진행
- 보통, 쓰는 용도에 따라 branch를 나눔
깃 명령어
- git status : 현재 git 상태를 체크한다.
- git pull : 깃허브에서 내 PC 폴더로 최신 자료를 가져온다.
- git add . : 수정한 파일 전체를 stage에 올린다.
- git commit -m “커밋 메세지” : stage에 올라간 파일을 왜 수정했는지 커밋 메세지를 입력한다.
- git push : stage 에 올라간 파일을 깃허브에 올린다.
명령어 | 설명 |
git -init | 현재 위치에서 지역 저장소를 만듭니다 |
git config git config -l git config –global user.name “사용자명” git config –global user.email “사용자이메일” |
환경설정 명령어 보기 환경설정 리스트 보기 깃 환경에서 사용자 이름을 설정 깃 환경에서 사용자 이메일을 설정 |
git help | 도움말을 봅니다 |
git status | 변경상태를 확인합니다 |
git add . git add {파일명.html} |
모든 파일을 스테이지에 올립니다 파일을 스테이지에 올립니다 |
git commit -m “설명” git commit -a -m “설명” |
커밋 메세지를 붙여 커밋합니다 모든 파일을 커밋합니다 |
git branch git branch {브랜치명} git branch -M main |
브랜치를 조회합니다 {브랜치명} 이라는 새로운 브랜치를 생성합니다 마스터 브랜치의 이름을 main 으로 변경합니다 |
git merge {브랜치명} git merge {브랜치명} –edit git merge {브랜치명} –no-edit git merge –abort |
브랜치명을 main 와 병합합니다 ++ 병합 후 vi 편집기로 커밋 메세지를 수정합니다 ++ 병합 후 아무것도 하지 않습니다 merge를 취소합니다 |
git switch {브랜치명} git switch -c {브랜치명} |
{브랜치명}으로 이동합니다 {브랜치명}을 생성하면서 이동합니다 |
[switch, restore 사용 권장] git checkout {브랜치명} git checkout -b {브랜치명} |
{브랜치명} 으로 이동합니다 {브랜치명} 이름의 새로운 브랜치를 만들고 이동합니다 |
git clone | 원격 저장소를 복제합니다. fork 와는 다릅니다 |
git push git push origin main git push origin {브랜치명} (주의) git push -u –force |
작업중인 자료를 업로드합니다 작업중인 자료를 origin/main에 업로드합니다. 작업중인 자료를 origin/{브랜치명} 에 업로드합니다. (주의) 현재 커밋된 자료를 강제로 올려버립니다. |
git difftool | 서버와 차이점을 알 수 있습니다 |
git pull git pull origin main |
원격 저장소 자료를 다운받습니다 원격 저장소 main 자료를 다운받습니다 |
git fetch | 원격 저장소의 커밋을 가져오기만 하고 merge하지 않습니다. 가져온 브랜치 내용은 origin/{브랜치} 로 저장됩니다 |
git stash git stash save git stash list git stash apply git stash apply stash@{1} git stash drop git stash drop stash@{1} git stash pop |
작업 트리의 수정 내용을 보관합니다 작업 트리의 수정 내용을 보관합니다 보관중인 수정 내용 목록을 출력합니다 보관한 내용을 적용합니다 보관한 내용 1번째를 적용합니다 보관한 내용중 가장 최근 항목을 삭제합니다 보관한 내용중 1번째를 삭제합니다 보관한 내용을 apply하고 삭제합니다 |
git log git log –pretty=oneline git log –online –all |
커밋 내역을 보여줍니다 커밋 내역을 한줄로 표기합니다 커밋 내용을 짧게 보여줍니다 |
touch .gitignore | 스테이징 추적&푸시를 제외할 파일을 생성합니다 |
git clean -f | Untrackd files 를 삭제합니다 |
git reset {파일명} git reset . |
스테이지에 올라간 파일을 내립니다 스테이지에 올라간 모든 파일을 내립니다 |
'기타' 카테고리의 다른 글
[MySQL] 명령어 모음 (기초) (0) | 2024.10.03 |
---|---|
Fast API란 / Fast API 설치 (0) | 2024.09.21 |
[python] 아나콘다 파이썬 버전 확인 / 다운그레이드 / 버전 변경 방법 / Solving environment 무한로딩 (0) | 2024.05.28 |
카카오맵 API / Kakao Map API 사용하는 법 (0) | 2024.05.25 |
백엔드 개발자 채용 / 지원자격 (0) | 2024.05.22 |