이번 글에는 Git에 대하여 학습한 것들을 정리하고자 한다!
GIT 이란?
형상관리 도구(Configuration Management Tool) 이자
버전관리시스템(Version Control System) 이며
프로젝트 소스코드를 효율적으로 관리할 수 있도록 도와주는 시스템이다.
Git을 사용하는 이유
프로젝트 진행 시 보통 혼자가 아닌 여러 명이 동시에 소스를 수정하는 데, 이 때 동시 작업을 하여도 문제가 발생하지 않도록 도와준다
해당 프로젝트 소스의 여러 버전을 동시에 관리가 가능하다. (즉 최신 버전의 소스만 수정 가능한 것이 아닌 이전의 버전을 가져와서 작업을 진행할 수도 있다.)
상기와 비슷한 개념으로 , 프로젝트의 모든 로그를 볼 수 있고, 최신 버전을 어느 특정 시점으로 다시 되돌리는 것도 가능하다. (최신 버전의 것이 문제가 발생했을 때.. 임시방편으로)
코드 관리 측면 | 협업 관리 측면
변경된 이력 사항 확인 가능 | 각 기능별로 분업 후 하나의 코드로 통합 가능
이전 이력으로 되돌리기 가능 | 여러 개발자가 같은 부분의 소스를 동시 수정했을 시 알려줌(Conflict)
다른 기능의 버전 코드 유지 가능 | 협업 중 일어날 수 있는 다양한 실수를 예방해줌(ex) 상기의 Conflict)
현재 최종 버전이 어느 시점인 지 표현 가능 | 팀원 간 커뮤니케이션을 지원
1) Git SCM 접속해 설치파일 다운로드 https://git-scm.com/
2) 시작프로그램에서 Git Bash 실행
3) Config 설정 (User Name / User Email 설정)
4) 설치 완료
5) GitHub 가입
Github : Git 저장소 호스팅을 지원하는 웹 서비스 https://github.com/
Git 사용자 설정 로컬에서 사용할 Git 사용자 이메일과 이름을 설정
git config : Git에 관한 설정을 추가/변경/삭제하는 명령어 설정 파일
System 설정 파일 : 모든 시스템 사용자에게 적용 (git config --system)
Global 설정 파일 : 한 사용자의 전체 Git Repository에 적용 (git config --global)
Local 설정 파일 : 하나의 Repository에만 적용 (git config --local)
ex)
git config --global user.email “aaa@naver.com”
git config --global user.name “AAA”
설정 확인 git config --list
-Windows에서 SSH 설정 시 주의할 점은 ssh-add를 통해 ssh key를 등록해 주어야 ssh로 접속이 가능하다는 것이다. 이것 때문에 꽤나 삽질을 했었던 경험이 있다..
1) Git 초기화 (git init)
초기화할 자신의 대상 폴더에서 git init (git bash 혹은 cmd에서)
상기 명령어 입력 시 폴더 내 숨김 폴더로 .git 폴더가 생성된다 (이는 Local Repository 이다)
2) Git 삭제
그냥 상기에서 만들어진 .git 폴더를 삭제하면 된다
명령어로는 rm -rf .git 을 해주면 된다.
3) gitignore
이는 사용자가 git에 등록되지 않길 원하는 파일 또는 폴더들의 목록을 저장하는 파일이다.
이 gitignore에 등록된 파일들은 커밋 시 자동으로 제외된다.
작성법
'#' = 주석
폴더 : /폴더명 (ex)/gitignoreTargets)
파일 : 파일명.확장자 (ex)/gitignore.txt)
폴더 내 파일 : /폴더명/파일명.확장자 (ex)/gitignoreTargets/gitignore.txt)
폴더 내 특정 확장자 파일 전부 (ex) /gitignoreTargets/*.txt)
폴더 하위 모든 특정 확장자 파일 전부 (ex) /gitignoreTargets/*/.txt)
gitignore.io => gitignore 작성을 도와주는 사이트