1. git 유저 / 업로드 설정
1) 현재 위치에서 지역 저장소를 생성
2) 깃 환경에서 사용자 이름을 [사용자명]으로 지정
1
| $ git config --global user.name "[사용자명]"
|
3) 깃 환경에서 사용자 이메일을 [사용자이메일명]으로 지정
1
| $ git config --global user.email "[사용자이메일명]"
|
4) 깃의 상태를 확인
2. commit 명령어
1) [파일명.확장자명]을 스테이지에 올림
2) 커밋 메시지 [메시지명]을 붙여 커밋
1
| $ git commit -m "[메시지명]"
|
3) 메시지 [메시지명]을 붙여서 스테이징과 커밋을 동시에 진행
1
| $ git commit -a -m "[메시지명]"
|
4) 커밋 내역 확인
1
2
| $ git log
$ git log --pretty=oneline // 한줄로 표기하기
|
5) 최근 버전과 작업 폴더의 수정 파일 사이의 차이를 출력
1
2
| $ git diff
$ git diff [이전커밋 id] [이후커밋 id]
|
6) 지정한 커밋 해시로 이동
7) 가장 최근 커밋을 취소
1
2
| $ git reset HEAD^ # 현재 HEAD의 이전 커밋으로 되돌리기
$ git reset HEAD~n # 현재로 부터 n 번째 이전 커밋으로 되돌리기
|
8) 지정한 커밋 해시로 이동하고 커밋을 취소
1
2
3
| $ git reset --soft [커밋ID]# head 만 바뀜
$ git reset --mixed [커밋ID]# staging 도 그 때로 바뀜
$ git reset --hard [커밋ID]# working디렉토리/staging 모두 그 때로 바꿈
|
9) 지정한 커밋 해시의 변경 이력을 취소
10) 커밋 수정하는 법
1
2
3
| 파일 수정 한 뒤
$ git add .
$ git commit--amend : 최신 커밋 수정
|
3. 브랜치 명령어
1) 새로운 브랜치 [브랜치명]을 생성
2) [브랜치명]으로 체크아웃(이동)
1
2
| $ git checkout [브랜치명]
$ git checkout -b [브랜치명]# 브랜치만들고 바로 이동
|
3) 커밋 로그에서 한 줄에 한 커밋씩 출력
4) 수정한 전체 파일을 스페이지에 올린다.
5) 커밋 로그에 각 브랜치의 커밋을 그래프로 표시
1
| $ git log--branches --graph
|
6) [브랜치명]을 master 브랜치와 병합 //
1
2
3
| $ git merge [브랜치명]
$ git merge [브랜치명] --edit// 병합 후 바로 vi 편집기가 나오면서 커밋 메시지 수정 가능
$ git merge [브랜치명] --no-edit// 커밋 메시지 수정없이 바로 병합
|
7) merge 취소하기
4. git hub 원격 저장소
1) 원격 저장소에 연결
1
2
| $ git remote add origin [github 레포지 주소]
$ git remote add origin [branch 이름] #없으면 생성됨
|
2) 원격 저장소에 연결됐는지 확인
3) 지역 저장소의 커밋을 맨 처음 원격 저장소에 올리는 경우
1
| $ git push -u origin master
|
4) 3번을 한 후에 지역 저장소의 커밋을 원격 저장소에 올리는 경우(업로드)
1
2
| $ git push
$ git push origin master
|
5) 원격 저장소의 커밋을 지역 저장소로 가져옴
1
2
| $ git pull
$ git pull origin master
|
6) SSH 키를 생성함
7) 원격 저장소 복제하기
- 첫번째 커밋이 아니라면 풀 먼저하기
- $ git remote remove origin
- 원격 저장소를 [지역저장소명]에 복제하기
1
| $ git clone [원격 저장소 주소]
|
8) 원격 저장소의 커밋을 가져오기만 하고 merge하지 않는다
- 가져온 branch 내용은 origin/[브랜치] 로 저장됨
1
| $ git diff test origin/test //브랜치 이름이 test일 경우 예시
|
9) 패치로 가져온 정보가 있는 브랜치[FETCH_HEAD]로 이동
1
| $ git checkout FETCH_HEAD
|
10) 패치로 가져온 정보가 있는 브랜치[FETCH_HEAD]를 master 브랜치에 병합한다
11) [브랜치명]을 만드는 것과 동시에 체크아웃한다
1
| $ git checkout -b [브랜치명]
|
12) 원격 저장소에 [브랜치명]의 브랜치의 커밋을 올린다
1
| $ git push origin [브랜치명]
|
13) 원격저장소 삭제
1
| $ git remote remove origin
|