zerocho님의 깃허브 강좌를 요약했습니다.
초심자를 위한 Github 협업 튜토리얼 에서 참고했습니다.
Git 공식홈페이지 에서 참고했습니다.
소스코드를 효과적으로 관리하기 위한
분산형 버전 관리 시스템
Git에서는 소스코드가 변경된 이력을 쉽게 확인 할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수 있다.
즉, 한개의 파일로시간여행
을 할 수 있다.
파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유가 가능하다.
개인 pc에 파일이 저장되는 공간
버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.
만약 1.1v 업그레이드를 하고 배포를 했는데, 오류가 발생해서
1.0v으로 다시 돌아가야 한다면 돌아갈 수 있고, 또 새로운 버전을 만들 수 있다.
한개의 파일로 여러 버전을 관리할 수 있다.
실험적인 코딩을 하다가 되돌리거나 합칠 수 있다.
여러 사람과 작업을 하면서, 한개의 파일로 다른 버전으로 작업 할 수 있고, 각자 작업한 결과물을 합칠 수 있다. 로컬 저장소에 있는 개인파일을 원격 저장소로 업로드 할 수 있고, 반대로 원격 저장소에 있는 다른 사람의 파일을 불러올 수 있다.
만약 내가 다른 팀원과 새로운 게시판을 만들고 싶다.
나는 회원가입 기능을 만들고 팀원은 게시판 업로드 기능을 각자 만들고
작업을 합치는 것을 수월하게 할 수 있다.
git config --global user.email "git_exam01@naver.com"
git config --global user.name "git_name"
Git을 설치하고 나서 가장 먼저 해야 하는 것은 사용자이름과 이메일 주소를 설정하는 것이다. Git은 커밋할 때마다 이 정보를 사용한다. 한 번 커밋한 후에는 정보를 변경할 수 없다.
git init
: 원하는 디렉토리에 로컬저장소가 생성된다.
git clone "url"
: 다른 프로젝트에 참여하고 싶거나, 기존의 프로젝트를 복사해오고 싶을 때 사용한다.
Git을 사용하기 위해서 저장소를 만들어줘야 한다.
git status
: 현재 상태를 알 수 있다.
git add file_name
: 특정한 파일을 추가한다.
git add .
: 전체파일을 추가하는 것이다.
한번 추가하면 모두 기억하기 때문에, 보안에 위협되는 파일들은 추가하지 않는 것이 좋다. 관리하고 싶은 파일들을 수동으로 관리해야 한다.
.gitignore
: 깃에 올리고 싶지 않은 파일들을 Git에서 제외할 수 있다.
git commit -m "Initial commit"
: 일반적으로 commit
git commit -am "Initial commit"
: commit하는 동시에 add하기
git commit free1.txt -m "Initial commit"
: 특정 파일만 commit
커밋을 통해서 깃에 기억해달라고 하는 것이다. commit을 해야만 깃에 저장할 수 있다.
한번 커밋하면 더이상 취소 할 수 없다.
git log
: commit을 시간의 역순으로 보여준다.
git shortlog
: log의 명령어를 요약해서 보여준다.
새로 저장소를 만들어서 몇 번 커밋을 했을 수도 있고, 커밋 히스토리가 있는 저장소를 Clone 했을 수도 있다. 저장소의 히스토리를 확인 할 수 있다.
git checkout -- free1.txt
Modified 상태의 파일을 add하지 않고 다시 Unmodified로 되돌릴 수 있다. 수정을 잘못해서 파일을 원상태로 되돌리고 싶을 때 사용합니다. git checkout git.html하면 원래대로 되돌아옵니다.
git diff
: 수정된 내용을 볼 수 있다.