728x90
VCS (Version Control System)
: 프로젝트 개발(협업)할 때 소스코드, 문서 등 버전을 관리하는 시스템
VCS 종류
- CVCS (Centralized VCS)
: 중앙집중식 / Client-Server 방식
: 서버에 소스파일과 버전 히스토리 저장
: 단점 - 서버가 고장나면 협업이 어려움
ex) CVS(Concurrent Version System), SVS(SubVersion) 등 - DVCS (Distributed VCS)
: 분산 관리 시스템
: 소스와 히스토리를 여러 PC에 분산 저장
: 서버 장애시 로컬저장소를 이용해 중앙 저장소 복원 가능
ex) Git, Mercurial, Bazaar 등
Git
- 2005년, 리눅스 커널 개발자인 리누스 토르발스에 의해 개발됨
- DVCS (분산 버전 관리 시스템)
- 빠른 협업 환경 조성
- 지속적인 버전 관리가 필요한 경우 사용
- 수천개의 브랜치(branch) 작업 동시 수행 가능
- Local에서 소스 버전 관리할 때 사용
- 중앙 서버와 독립적으로 Local에서 완벽하게 소스와 이력 관리
Git vs Github
- Git
: 분산 관리 시스템 소프트 웨어
: 로컬 저장소 (Local Repository) 사용
: Local 내에서 git을 이용하여 버전 관리
- GitHub
: 원격저장소 (Remote pository) 제공
: Local에서 관리하는 소스코드를 업로드 후 공유
: 다른 개발자와 협업할 때 사용
: https://github.com
Git & Github
Git 연동
- Windows, Mac Os, 리눅스, 유닉스 등 지원
- 여러 프로그램에서 git 연동 및 github 소스 공유기능 제공
: Vscode, Vs, android studio, eclipse, IntelliJ IDEA 등
Git 사용
1. 로컬 저장소 생성
mkdir <dir 이름>
cd <dir 이름>
git init
2. 원격 저장소 복제
git clone <GitHub의 Repository 주소>
3. add / commit
-> 파일 생성 추가, 수정 삭제 -> ( Add ) -> Staging Area 추가 -> ( Commit ) -> 수정내역을 저장소에 제출 ->
git rm
- Untracked file 삭제
: rm 명령어를 사용하여 삭제 - Tracked file 삭제
: 로컬 디렉토리와 git 저장소에서 모두 삭제
git rm <filename>
- git에서만 삭제, 로컬 디렉토리에느 삭제하지 않음
git rm --cached <filename>
git status
- 현재 파일 상태를 확인하기 위해 사용하는 명령
: Untracked file 상태 / Staged 전 상태 / commit 전 상태
git log
: Commit history 를 볼 수 있음.
git log
git log -3 // git commit 기록 중, 3개 출력
git log -p -1
git log -2 --oneline
git log --author=Brandon
git log --pretty=oneline --graph // git commit 기록을 한줄로 그래프 표현 !
git diff
: 커밋 내역을 비교하거나 commit 과 working tree 변경 내역 확인
- 워킹 디렉토리와 Staging area 비교
git diff
- commit 내용과 Staging area 비교
git diff --cached
git diff --staged
- commit 과 다른 commit 비교
git diff commit1_checksum commit2_checksum
gitignore 파일
- git 저장소에서 관리할 필요가 없는 파일이나 폴더 작성
실행파일, 목적파일
Hidden file
id / password 등 보안 정보
개인 파일
실행파일이 저장된 폴더 (/bin, /out) - git 저장소 폴더에 .gitignore 파일 생성
- .gitignore 파일 생성 사이트 : 개발환경, 언어별 작성 가능
: https://www.gitignore.io/ - 폴더 안에 vi .gitignore 을 하여 생성 사이트에서 코드 복사하여 붙여 넣으면 됨.
728x90
'Git' 카테고리의 다른 글
[Git] github 파일 업로드 시, 폴더에 화살표없이 올리기 (파일 클릭이 안됨) (2) | 2023.11.11 |
---|