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 . |
스테이지에 올라간 파일을 내립니다 스테이지에 올라간 모든 파일을 내립니다 |
원격 저장소 연결하기
먼저 local repository를 만든다. 깃은 .git이라는 파일에 작업 내용을 기록하며 .git 파일의 위치는 repository의 root directory에 생성된다.
프로젝트 폴더에서 우클릭 후 Open Git Bash here
아래의 명령어로 .git 파일을 생성한다.
git init
깃허브 레파지토리의 HTTPS란에 있는 원격 저장소 주소를 복사해 local repository와 remote repository를 연결한다.
git remote add origin "원격 저장소 주소"
이 명령어는 remote origin을 local origin에 복제한다는 뜻이다.
연결된 원격 저장소 확인
git remote -v
이제 아래 명령어로 remote repository에 있는 파일을 불러와 local repository에 복제한다.
git pull origin main
+ 기존 원격 저장소와의 연결 삭제
git remote rm origin
깃허브에 파일 업로드하기
git add .
git commit -m "commit에 대한 설명"
git push origin "브랜치 이름"
요약
//저장소 생성 및 연결
git init
git remote add origin [원격저장소 주소]
git branch -m master main
//파일 업로드
git pull (또는 git pull origin main)
git add .
git commit -m "commit message"
git push (또는 git push origin main)
//추가적인 명령어
git remote -v
git remote rm origin
git branch
git config --global init.defaultBranch [브랜치 이름]
git status
git rm --cached -r .
git push -u origin main
'기타' 카테고리의 다른 글
[DB] 데이터 베이스 기초 (1) | 2024.10.07 |
---|---|
[MySQL] 명령어 모음 (기초) (0) | 2024.10.03 |
[python] 아나콘다 파이썬 버전 확인 / 다운그레이드 / 버전 변경 방법 / Solving environment 무한로딩 (0) | 2024.05.28 |
백엔드 개발자 채용 / 지원자격 (0) | 2024.05.22 |
백엔드 개발자 주요 업무, 기술 스택, 필요 역량 (0) | 2024.05.18 |