Git
- 사용 목적 : 효율적인 협업, 쉬운 버전관리(스냅샷)
- 특징 : 가지 치기와 병합, 가볍고 빠름, 분산 작업, 데이터 보장(책임 추적성), 오픈 소스
- git의 세 영역 : 작업영역(working directory) -> 준비영역(staging area) -> 저장소(repository)
- Branch : 독립적으로 어떤 작업을 진행하기 위한 개념, 각각의 브랜치는 다른 브랜치의 영향 받지 않음
- merge conflict : 병합한 두 브랜치에서 같은 파일을 변경했을때 충돌(git status로 확인 가능)
- 원격 저장소 가져오기 : github에서 원하는 프로젝트에서 clone 버튼 누르기 -> Clone with HTTPS 옵션 선택 -> url 복사해서 터미널에 git clone url 입력
- 미리 만들어진 원격 저장소를 가져올 때는 굳이 로컬 저장소를 생성할 필요가 없다.
명령어 | 설명 |
git version | 버전 확인 |
git config --global user.name "이름" | 이름 설정, --global 빼고 할수도 있으나 git 처음 쓸 땐 반드시 입력 |
git config --global user.email "이메일" | 이메일 설정 |
git config --list | 설정한 이메일과 이름 확인 |
git init 이름 | 현재 디렉토리를 git repository로 설정 이름 없으면 그냥 생성됨 git init ./home/elice -> 위치 이동해서 저장소 생성 |
ls 또는 ls -al | 디렉토리 확인 |
git add 파일명 | 파일이 작업영역에서 준비영역으로 이동 git add . -> 한번에 추가할 파일 많은 경우 현재 폴더를 대상으로 지정 |
git status | 준비영역의 파일 상태 확인 |
git commit | 준비영역에서 저장소로 저장 (ctrl+X -> Y -> Entet 순서로 누르면 저장 가능) git commit -m "커밋 메시지" -> 에디터 없이 바로 커밋 |
git commit --amend | 커밋된 내용 수정(텍스트 편집기 실행) git commit --amend -m "수정할 메시지" -> 바로 수정 |
git log | 저장소 반영 내역 확인 |
git reset | 준비영역에 있는 파일 삭제(그 후 add 사용해서 다시 가능) |
git branch | 현재 브랜치 상태 확인 |
git branch 브랜치명 | 브랜치 생성 |
git branch -d 브랜치명 | 브랜치 삭제 |
git checkout 브랜치명 | 브랜치 전환 |
git merge 브랜치명 | 현재 브랜치를 기준으로 병합 |
git clone url | git 저장소 복사 |
git remote add origin url | 로컬 저장소와 원격 저장소 연결 (원격 저장소 단축이름을 origin으로 지정, 다른 이름으로 해도 됨) |
git remote show origin | 연결된 저장소 확인 |
git remote rename origin 변경할이름 | origin에서 다른 이름으로 변경 |
git remote rm 이름 | 원격 저장소 삭제 |
git remote -v | 저장소 이름과 주소 확인 |
git pull | 원격 저장소에서 데이터 가져와 로컬 데이터와 병합 (git log로 확인 가능) |
git fetch | 원격 저장소에서 데이터 가져오나 병합은 안함 (git merge origin/master 해야 함) |
git push origin master | 로컬 저장소에서 작업한 내용을 원격 저장소에 반영 (다른 사람이 먼저 push했으면 merge한 이후에 push 가능) |