2일차 IT프로젝트 관리도구(GIT)

정지원·2024년 2월 21일
0

에이블 스쿨 복습

목록 보기
2/51
post-thumbnail

1. GIT 란?

Git은 버전 관리 시스템(VCS Verson Control System)으로, 주로 협업 및 분산 작업 환경에서 소스 코드의 버전을 효과적으로 관리하기 위해 사용됩니다.

Git의 특징

1. 버전관리

  • git은 파일의 변경 내역을 효과적으로 추적하여 각각의 버전을 관리한다.
  • 이를 통해 프로젝트의 특정 시점으로 손쉽게 돌아갈 수 있고 변경 내용을 확인하거나 이전 상태로 롤백할 수 있다.

2. 협업과 분산 작업

  • 여러 개발자가 동시에 프로젝트에 참여할 수 있도록 지원하며, 중앙 서버에 의존하지 않고도 작업이 가능하다.
  • 각 개발자는 로컬 저장소(사용자 컴퓨터)에서 독립적으로 작업하고 변경 내용을 중앙 서버에 병합할 수 있다.

3. 브랜치 사용

  • Git은 브랜치라는 개념을 통해 독립적인 작업을 할 수 있게 한다.
  • 브랜치(branch)는 특정 기능, 개발, 버그, 수정 등과 같은 목적으로 사용되며, 완료된 작업은 메인 브랜치에서 병합된다.

4. 빠른 속도

  • Git은 로컬 저장소에서 작업하기 때문에 속도가 빠르다.
  • 변경 사항을 커밋(commit)하거나 브랜치(branch)를 전환하는 등의 작업이 빠르다.

5. 오픈 소스

  • Git은 분산 버전 관리 시스템으로 오픈 소스이고, 누구나 자유롭게 사용가능하다.
  • GitHub, GitLab, Bitbucket과 같은 플랫폼을 통해 Git을 활용한 프로젝트를 협업할 수 있다.

기본적인 단어 설명

Git을 배울 때, 만든 처음 설명이다.

  1. Working directory:현재 프로젝트 파일이 저장되는 공간으로, 수정과 추가등 작업을 진행하며 Git이 변경사항을 추적하여 로컬 저장소(사용자)에 버전을 기록하는 중요한 디렉토리다.

  2. add: 변경된 파일들을 스테이징 영역에 추가하여 이후 커밋에 포함시키기 위한 단계로, 변경 내용을 추적하고 준비한다.

  3. stage area: 변경된 파일을 임시로 저장해두는 공간으로, 커밋에 포함시키기 전에 파일을 준비하는 역할을 합니다.

  4. commit: 변경된 파일을 스테이징 영역에서 영구적으로 저장하는 명력어로, 프로젝트의 히스토리에 새로운 버전을 기록한다. 각 커밋은 고유한 해시값을 가지며, 변경사항과 함께 커밋 메시지를 통해 작업 내용을 명확하히 기록하여 협업과 유지보수를 용이하게 한다.

  5. .git 저장소 (repository): Git 저장소의 핵심으로, 모든 버전 관리 정보가 저장되며 프로젝트의 히스토리와 상태를 추적한다. 숨김 처리되어 직접 수정하지 않는 것이 일반적으로 숨김해제를 해주면 볼 수 있다.


이건 .git 숨김파일을 찾고 싶을까봐 올려본다.
file >> preferences >> settings 하면 위 화면이 보인다.
저기서 exclude를 작성하고 숨겨진 폴더를 x를 누르면 된다.

  1. 버전(id): 커밋을 통해 관리되며, 각 커밋은 파일의 변경 내용을 저장하고 고유한 40자의 해시값으로 식별된다. 버전 간의 차이를 추적하여 프로젝트 히스토리를 구성하며, 각 버전은 이전 상태와의 변경점을 나타낸다. 이를 통해 효율적인 협업과 안정적인 버전 관리가 가능하다. '커밋ID', '해시값'이라 불리기도 한다.

2. GitHub 란?

git을 사용하는 프로젝트를 지원하는 웹호스팅 서비스로, 여러 명의 개발자들과 협업을 하면서 소스코드 또는 파일을 공유할 수 있도록 해주는 플랫폼 서비스이다.

git을 사용하는 컴퓨터의 서버가 터지거나 사용할 수 없게 되는 경우 GitHub에서 다운받아 사용하면 된다. 하나의 서버에 여러 명의 사용자가 접근할 수 있다. 그래서 협업이 많은 프로젝트에서 활용시 효율성이 극대화 된다.

회고

나는 비전공자다. GIT이란 것을 처음 접해보았다. 어렵다면 어렵고 쉽다면 쉬운 것 같다. 개념설명과 실습을 병행하여 진행했지만 개념 부분에 처음엔 이해가 되지 않았다. 그래도 점점 실습 도중에 개념설명을 해주셔서 조금 이해가 되었고, 마지막에 셀프테스트를 응시하면서 정리가 되어간느 느낌이다.
개념 설명은 내 머릿 속을 정리할겸 구글링을하며 찾아본 결과이다.

profile
뒤늦게 프로그래밍을 시작한 응애

0개의 댓글