Day 35 - The Big Picture Git - Version Control
버전 제어
- 버전 관리 장점은 프로젝트 이력을 추적할 수 있다는 것
- git log를 사용해 리포지토리의 커밋과 코멘트, 지금까지 있었던 일을 확인할 수 있다.
- 버전 제어는 백업이 아니다.
Branch & Merge
- branch를 사용하면 동일한 앱에 대해 두 개의 코드 스트림을 사용할 수가 있다.
- merge 기능을 사용하면 다른 브랜치의 버전에 포함된 것을 합칠 수 있다.
Git이란 무엇일까?
- git은 소스 코드 또는 모든 파일의 변경 사항을 추적하는 도구로, 오픈소스 분산 버전 관리 시스템이기도 하다.
- git init 명령어로 디렉토리를 초기화한다.
- git add . 으로 디렉토리의 모든 파일과 폴더를 스냅샷에 넣을 수 있습니다.
- git commit -m "My First Commit" 명령어로 커밋을 할 수 있습니다.
- git log로 커밋이 완료된 걸 확인이 가능하고, git status를 사용하면 커밋할 파일이 있는지 없는지 알 수 있습니다.
- git diff를 사용하면 두 커밋 사이의 변경 사항이 뭔지 알 수 있습니다.
- git checkout으로 새 파일을 잃지 않고 예전 버전으로 되돌릴 수 있습니다.
- git switch 명령어로 다른 브랜치로 전환하거나 새 브랜치를 생성하고 그곳으로 전환하는 등의 작업을 수행할 수 있다.
Day 36 - Installing & Configuring Git
Git 설치
- 설치된 git 버전을 확인해 보니 2.41.0이었습니다.
- 최신 git 버전을 확인했더니 2.47.0인 것을 알 수 있었습니다.
Git 구성하기
- 처음 git을 사용할 때는 Name, Email, 기본 에디터, Line Ending을 정의해야 한다.
- 이 설정들은 System(모든 사용자), Global(현재 사용자의 모든 리포지토리), Local(현재 리포지토리)의 3가지 수준에서 수행할 수 있다.
- git config --global user.name "Michael Cade" git config --global user.email Michael.Cade@90DaysOfDevOPs.com"으로 하면 이름과 메일을 설정할 수 있다.
- git config --global -e로 모든 git 구성을 확인할 수 있다.
클라이언트-서버 버전 제어
- git이 등장하기 전에는 클라이언트-서버가 버전 관리를 위한 유일한 방법이었다.
- 개발자가 서버에서 소스 코드와 실제 파일을 다운로드하고, 자신의 작업과 충돌하는 부분을 모두 처리한 뒤 커밋해야 한다.
분산 버전 제어
- Git의 주요 이점은 빠름, 스마트, 유연함, 안전 및 보안이다.
- 각 개발자는 Git에서 커밋 히스토리, 모든 branch 등을 의미하는 소스 리포지토리를 다운로드한다.
Day 37 - Gitting to know Git
Git 공식 문서
- 공식 git 사이트와 문서에서 git에서 사용 가능한 모든 명령어에 대한 확실한 정보와 다양한 리소스를 찾을 수 있다.
- git add -h로 사용 가능한 옵션에 대한 요약을 볼 수 있다.
Day 38 - Staging & Changing
스테이징 파일
- 아직 커밋하기 전 git add해서 파일을 스테이징 영역에 추가할 수 있다.
파일 제거
- 디렉토리에서 파일을 제거했을 때 git에서는 아직 인식하므로 리포지토리에서도 파일을 제거해야 한다.
- git rm oldcode.ps1 명령어로 oldcode.ps1 파일을 제거할 수 있다.
파일 이름 바꾸기 또는 이동
- git mv를 통해 변경이 가능하다.
파일 무시하기
- .gitignore 파일에 폴더나 파일을 추가하여 파일을 무시할 수 있다.
간략한 status
- git status보다 더 간단한 상태를 확인할 수 있는 명령어이다.
'Personal > DevOps' 카테고리의 다른 글
90DaysOfDevOps 39~41일차 (1) | 2024.11.05 |
---|---|
90DaysOfDevOps 23~24일차 (0) | 2024.10.04 |
90DaysOfDevOps 21~22일차 (0) | 2024.10.04 |
90DaysOfDevOps 20일차 (2) | 2024.10.01 |
90DaysOfDevOps 18~19일차 (6) | 2024.09.30 |