일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- sql내장함수
- 부트캠프
- 백엔드개발
- 금융권it
- kb 기자단
- kb it's your life 기자단
- SQL데이터타입
- 이차원배열
- kbit교육
- autohotkey
- 데이터분석자격증
- kb 취업교육
- 첫알고리즘평가
- kb it's your life
- 빅데이터분석기사
- 금융권 it
- kb네트워킹캠프
- KB국민은행
- prefixsum #C언어
- kb it's your life 6기
- 빅분기필기
- sql
- kb취업교육
- 반별이벤트
- 빅데이터분석기사필기
- 금융권 부트캠프
- 전문가특강
- 백엔드개발교육과정
- 멀티캠퍼스
- 빅분기
- Today
- Total
지식보부상님의 공부 일지
Git 사용하기 본문
[1] Git 시작하기
- Version Control System : 버전 관리를 해주는 시스템
- Centralized Version Control: 중앙 서버에서 관리(중앙 집중형)
=> 중앙 서버에서 오류가 나면 큰 문제가 일어남 (과거에 주로 이용)
- Distributed Version Control: 각 사용자가 모두 소스를 다운받아 각자 작업 후 병합 ex) Git
=> 중앙 서버가 오류가 나더라도 각 사용자의 소스를 바탕으로 쉽게 복구 가능
[2] Git 설치하기
Git 설치 후 기본 설정
# 유저 설정
git config --global user.name <유저이름>
git config --global user.email <유저이메일>
# 개행 문자 자동 변환
git config --global core.autocrlf true # for windows
git config --global core.autocrlf input # for mac
# 기본 편집기 설정
git config --global core.editor "code --wait" # vscode
[3] 저장소 만들기와 커밋(Commit) 하기
◈ 리눅스 명령어
분류 | 명령어 | 설명 |
경로 접근, 내용 확인 | ls | 디렉토리 내 파일 조회 / -al : 숨김 파일까지 조회 |
cd | 경로 변경 . : 현재 경로 / .. : 상위 경로 / ~ : home / - : 직전 경로 |
|
pwd | 현재 위치 출력 | |
clear | 현재 콘솔 내용 지우기 | |
파일 생성/삭제/읽기 | touch | 빈 파일 생성 / touch 파일.확장자 |
echo | 텍스트/변수를 콘솔에 출력 echo "내용" > 파일명 : 파일 생성하여 "내용" 저장 / 기존에 있는 파일이면 덮어씀 echo "내용" >> 파일명: 기존 파일 마지막에 "내용" 추가 |
|
cat | 파일 내용 출력 -n : 각 줄에 번호를 붙여서 출력 cat file1 file2 > mergefile : file1, file2 를 병합하여 mergefile 파일로 저장 |
|
cp | 파일 복사 cp file1 file2 : file1을 file2에 복사하여 저장 (file2 있으면 덮어쓰기) cp <파일명> <경로> : 파일을 경로 폴더에 복사 |
|
mv | 파일/폴더 이동, 이름 변경 mv file1 file2 : file1을 file2로 이름을 바꾸기 |
|
rm | 파일 삭제 (디렉토리는 그대로) -rf : 경로에 있는 전부 강제 삭제 |
|
code | 파일을 VS Code 로 열기 | |
디렉토리 생성 | mkdir | 디렉토리 생성 |
rmdir | 디렉토리 삭제 |
◈ git 저장소 생성 및 커밋
명령어 | 설명 |
git init | 저장소 생성 |
git add <filename> | 저장소에 파일 추가 ( staging area 에 올리기) git add . : 모든 파일 추가 |
git commit | 저장소에 변경한 내용을 반영 git commit -m "메세지" : 메세지 추가하여 반영 git commit --amend : 스테이징 영역 내용을 마지막 커밋에 같이 추가 |
git status | 저장소(현재 파일)의 상태/ 변경사항 등 확인 |
git diff | git diff: 커밋 전 작업 디렉토리에서의 파일 내용의 변경 사항 보여줌 git diff --staged: 커밋 후 스테이징된 파일의 변경 사항 보여줌 |
git log | 각각의 커밋에 대한 내용 확인 가능 (최신->과거 순) git log --patch: 각 커밋의 diff 확인 git log --oneline: 커밋 한개당 한줄씩으로 로그 조회 git log --graph: 브랜치, 머지 등의 히스토리를 아스키 그래프로 보여줌 |
git restore <filename> | 마지막 커밋 상태로 파일 복구 |
git clean | git clean -f : 스테이징 영역에 반영 안된 추적되지 않은 파일 삭제 git clean -fd : 스테이징 영역에 반영 안된 추적되지 않은 파일 및 디렉토리 삭제 |
git rm | 파일 삭제와 동시에 스테이징 영역에 변경한 사항 등록 |
git mv | 파일 이동(이름 변경 포함)과 동시에 스테이징 영역에 변경한 사항 등록 |
[4] Branch
◈ branch
- Git에서 프로젝트의 독립적인 작업 공간 => 다른 부분에 영향을 주지 않으면서 별도로 작업 가능
- main / master : 프로젝트의 기본 branch
◈ branch와 관련된 명령어
명령어 | 설명 |
git branch | git branch: 현재 있는 branch 확인 git branch -r: 원격 저장소 내 branch 확인 git branch <브랜치명>: 새로운 브랜치 생성 git branch -d <브랜치명>: 해당 브랜치 삭제 git branch -D <브랜치명>: 해당 브랜치 강제 삭제 |
git checkout | 새로운 branch 로 이동 git checkout <브랜치명> : 해당 브랜치로 이동 git checkout -b <브랜치명> : 새로운 브랜치 만들고, 해당 브랜치로 이동 |
git switch | 새로운 branch 로 이동 git switch <브랜치명> : 해당 브랜치로 이동 git switch -c <브랜치명> : 새로운 브랜치 만들고, 해당 브랜치로 이동 |
[5] Merge, 충돌 해결
◈ merge
- 두 브랜치를 병합하여 하나의 브랜치로 만드는 작업
- 두 브랜치에서 각각 동일한 파일 수정시 병합 충돌 발생
=> 사용자가 수동으로 충돌 해결해야 ( 충돌한 파일 내용을 수정 후 git add -> git commit 다시 실행)
명령어 | 설명 |
git merge | git merge <브랜치명> : 명시한 브랜치를 현재 브랜치와 병합 |
git merge --abort | 병합 취소 / 충돌 발생시 사용 |
git rebase | git merge와 기능 동일 but 커밋 히스토리가 다름 |
git log | 두 브랜치간 비교 / 머지 전 하는 것 권장 git log a..b : a에는 없고 b에만 있는 커밋 히스토리 ( b-a 내용) git log b --not a : a에는 없고 b에만 있는 커밋 히스토리 ( b-a 내용) git log a...b : a, b 중복되는 내용 제외하고 전부 조회 |
- gitk : Git의 그래픽 사용자 인터페이스(GUI) 도구 / 커밋 내역, 브랜치, 병합 내역 등의 시각적인 확인 가능
- git rebase와 merge의 차이점: 최종 결과는 동일
- rebase는 브랜치 변경사항을 순서대로 다른 브랜치에 적용하면서 합침
- merge는 두 브랜치 최종 결과만을 이용하여 합침
[6] 원격 저장소 생성
- 본인 local에 저장한 사항들을 git 에 올리는 과정
◈ 원격 저장소 생성 후 push 하기
- github.com 에서 로그인 후 다음과 같이 원격 저장소 생성
- git bash 에서 원하는 디렉토리로 이동
git clone <git에서 복사한 주소>
git push
◈ 관련 명령어
명령어 | 설명 |
git remote | 현재 프로젝트에 연결된 모든 원격 저장소의 목록 보여줌 git remote -v : 연결된 원격 저장소의 URL을 포함한 목록 보여줌 git remote add <name> <url> : 원격 저장소를 추가 <name> :원격 저장소 이름 / <url> : 주소 git remote remove <name> : 연결된 원격 저장소 제거 |
git clone | 원격 저장소 내용 복제 => 로컬 현재 경로에 새로운 저장소 생성 |
[7] 원격 저장소와 PR(Pull Request)
◈ 관련 명령어
명령어 | 설명 |
git clone | 원격 저장소 내용 복제 |
git push | 원격 저장소에 로컬 내용 보내기 |
git pull | 원격 저장소 내용 가져오기 |
git fetch | 원격 저장소에서 변경된 내용만 가져오기 (서버에 존재 but 로컬에 없는 데이터만) |
git revert | 기존 커밋 취소, 새로운 커밋 생성 |
git cherry-pick | 다른 브랜치에서 특정 커밋들만 선택해서 현재 브랜치에 적용 |
'KB IT's Your Life' 카테고리의 다른 글
Vue [04] Vue 인스턴스 (1) | 2025.03.27 |
---|---|
Dolt Node.js [02] 자바스크립트 기초 문법과 모듈 (1) | 2025.03.17 |
Dolt Node.js [01] 노드 환경 설정 (1) | 2025.03.13 |
웹 표준 HTML, CSS, JS [10] 문서 객체 모델 (1) | 2025.03.12 |
웹 표준 HTML, CSS, JS [09] 자바스크립트 기본 문법 (1) | 2025.03.12 |