[K-Digital Training] 한국경제신문 with toss bank
중간 프로젝트에서 공동 작업을 진행 하면서 Git이 정말 중요하다는걸 깨닫고 정리해 둡니다.
++ 내가 지금 사용해야 하는 코드 정리. ++
프로젝트 클론(복사) 하기.
# GitHub에 있는 프로젝트를 자신의 컴퓨터로 복사.
git clone https://github.com/..MidProject.git
# 프로젝트 폴더로 이동
cd MidProject
브랜치 생성 및 전환
# 브랜치 생성
git branch "브랜치 명"
# 브랜치로 이동
git checkout "브랜치 명"
코드 편집 및 변경 사항 커밋
# Visual Studio Code 실행
code .
# 모든 변경된 파일을 Git이 추적
git add .
# 변경 사항을 "good"이라는 메시지와 함께 저장
git commit -m "good"
원격 저장소에 푸시 (Push)
# 수정한 내용을 GitHub에 업로드 (다른 팀원들이 볼 수 있다.)
git push
다른 브랜치로 전환하여 업데이트 가져오기
# main 브랜치로 전환
git checkout main
# 원격 저장소의 모든 브랜치 정보를 가져온다.
git fetch --all
# main 브랜치의 최신 변경 사항을 가져온다.
git pull
# Leeseunghun 브랜치로 돌아간다.
git checkout Leeseunghun
# main 브랜치의 최신 내용을 현재 브랜치에 병합.
git merge main
공동 작업 정리
# 모든 작업이 끝나면, 수정된 내용을 'main' 브랜치에 다시 반영하고 정리
git checkout main
# git merge Leeseunghun은 Leeseunghun 브랜치의 내용을 main 브랜치에 병합.
git merge Leeseunghun
# 병합된 내용을 GitHub에 업로드.
git push
Git은 소스 코드를 관리하기 위한 분산 버전 관리 시스템이다.
모든 변경 사항을 기록하고, 다양한 사람들과 협업할 수 있도록 돕는다.
- 리포지토리 ( Repository ) : 프로젝트 파일과 변경 기록을 저장하는 곳. 로컬 리포지토리와 원격 리포지토리로 분류 된다.
- 커밋 ( Commit ) : 파일의 특정 시점 상태를 저장하는 작업, 각 커밋은 고유한 식별자를 가진다.
- 브랜치 ( Branch ) : 독립적인 작업 공간, 다른 브랜치와 병합할 수 있다.
- 머지 ( Merge ) : 한 브랜치의 변경 사항을 다른 브랜치에 통합하는 과정.
처음 사용할 때 필요하다.
# Git 설치
sudo apt-get install git # Ubuntu/Linux
brew install git # macOS
choco install git # Windows
# 사용자 이름과 이메일 설정
# "git config" Git에 사용자 정보를 설정한다. -> 커밋을 할 때 기록된다.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# 새로운 리포지토리 생성
mkdir new_project
cd new_project
git init
# "git init"은 원격 리포지토리를 초기화 한다.
# 기존 리포지토리 클론
git clone https://github.com/username/repository.git
# "git clone"은 원격 리포지토리를 로컬로 복사 한다.
cd repository
# 브랜치를 사용하면 여러 사람이 동시에 작업할 수 있다.
# 새로운 브랜치 생성
git branch new_feature # new_feature라는 새 브랜치를 만든다.
# 생성한 브랜치로 전환
git checkout new_feature
# 브랜치 생성과 전환을 동시에
git checkout -b new_feature
# 현재 브랜치 확인
git branch
# 원격 브랜치 가져오기
git fetch --all
# 원격 브랜치에서 새로운 로컬 브랜치 생성
git checkout -b new_feature origin/new_feature
# 코드를 변경한 후, 변경 사항을 커밋하여 저장한다.
# 파일 수정 후 / 현재 작업 상태를 보여준다.
git status
# 변경된 파일을 스테이징 영역에 추가 / 변경된 파일을 커밋할 준비 상태로 만든다.
git add file1 file2
# 모든 변경된 파일 추가 / 변경된 파일을 커밋할 준비 상태로 만든다.
git add .
# 커밋 생성
git commit -m "작업 내용 설명"
# 이전 커밋 수정 (주의: 이미 푸시된 커밋은 수정하지 않는 것이 좋습니다)
git commit --amend -m "수정된 커밋 메시지"
# 로컬에서 작업한 내용을 원격 리포지토리에 반영 한다.
# 원격 저장소에 변경 사항 푸시
# git push는 로컬 브랜치의 변경 사항을 원격 리포지토리에 반영 한다.
git push origin new_feature
# 변경된 브랜치를 원격 브랜치에 푸시 (처음 푸시할 때만)
# git push -u는 기본 추적 브랜치를 설정하여 이후 푸시를 간편하게 만든다.
git push -u origin new_feature
# 모든 브랜치의 변경 사항을 푸시
git push --all
# 다른 사람의 작업과 자신의 작업을 병합할 때 출동이 발생할 수 있다. 이를 해결하는 방법
# main 브랜치로 이동
git checkout main
# 다른 브랜치 병합
# new_feature 브랜치의 변경 사항을 main 브랜치로 병합한다.
git merge new_feature
# 충돌 발생 시 충돌 해결 후 변경 사항 추가
git add file1
# 병합 완료
git commit -m "충돌 해결 및 병합 완료"
# 충돌이 발생하면, 해당 파일을 수동으로 수정하고 git add로 추가한 뒤 병합을 완료합니다.
# 모든 작업이 끝나면 브랜치를 삭제하고, 정리할 수 있다.
# 병합된 브랜치 삭제 (로컬)
git branch -d new_feature
# 병합된 브랜치 삭제 (원격)
git push origin --delete new_feature
# 로컬에서 사용하지 않는 브랜치 삭제
git branch -D old_feature
# 작업 중 실수가 발생한 경우, 이전 상태로 되돌리는 방법.
# 마지막 커밋을 취소 (단, 변경 내용은 보존)
git reset --soft HEAD~1
# 마지막 커밋을 완전히 취소 (변경 내용도 삭제)
git reset --hard HEAD~1
# 특정 커밋으로 되돌리기 (변경 내용 보존)
git revert commit_id
# 워킹 디렉토리의 모든 변경 사항을 취소 (커밋하지 않은 변경 사항)
git checkout -- .
# 스테이징 영역의 모든 변경 사항을 취소
git reset
# 작업 기록을 확인하고, 필요한 경우 과거로 되돌아갈 수 있다.
# 작업 기록 확인 (자세히)
git log
# 작업 기록 간단히 확인
git log --oneline
# 특정 커밋으로 체크아웃 (해당 시점으로 워킹 디렉토리를 되돌립니다)
git checkout commit_id
# 브랜치와 관계없이 특정 커밋을 체크아웃하여 새로운 브랜치 생성
git checkout -b new_branch commit_id
한국 경제신문 with toss bank - 중간 프로젝트_( 1 ) (4) | 2024.09.01 |
---|---|
랜덤 포레스트 ( Random Forest ) (0) | 2024.08.29 |
GitHub에서 Repository 생성 후 Jupyter Lab 환경 설정하기 (0) | 2024.08.25 |
통계_검정, 상관 분석, 쌍 비교, 회귀 분석, 다변량 분석 (0) | 2024.08.04 |
(_기초_) Machine Learning 이란? (0) | 2024.08.03 |