일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- XWPF
- dm_exec_requests
- 요청매핑
- 프론트컨트롤러
- 진경혜
- 앵커멤버
- 함수
- transferTo
- git
- spring
- XACT_STATE
- SQL
- SQLSTATE=42705
- MSSQL
- 배치
- getChannel()
- 디스패처서블릿
- HWPF
- 요약
- 자바
- java
- 아이
- ERROR_MESSAGE
- TRANCOUNT
- 튜닝
- 교육법
- 스프링
- 홈스쿨링
- renameTo
- 재귀멤버
- Today
- Total
필기노트
Git 기초 명령어 본문
목차
1. 프로젝트의 변경사항들을 타임캡슐(버전)에 담기 - add
2. 타임캡슐 묻기 - commit
3. 과거로 돌아가는 두 가지 방법 - reset, revert
4. branch: 분기된 가지(다른차원)
5. 서로 다른 브랜치를 합치는 두 방식 - merge, rebase
6. 브랜치 간 충돌 해결하기 - abort, continue
7. 원격으로 커밋 - push, pull
8. 현재 속한 브랜치의 가장 최신 커밋 - HEAD
9. 도움을 받을 수 있는 기능 - help
1. 프로젝트의 변경사항들을 타임캡슐(버전)에 담기 - add
0) 파일의 삭제와 이동
git rm tigers.yaml
git mv tigers.yaml
1) 변경사항 확인 (Git의 관리에 들어간 적 없는 파일)
git status
2) 파일 하나 담기
git add tigers.yaml
3) 모든 파일 담기
git add .
2. 타임캡슐 묻기 - commit
1) git commit -m "FIRST COMMIT"
2) git commit -am "FIRST COMMIT" add와 commit 한꺼번에
2) git log 확인
4) git diff 변경사항 확인
Vi 입력 모드로 진입
작업 | Vi 명령어 | 상세 |
입력 시작 | i | 명령어 입력 모드에서 텍스트 입력 모드로 전환 |
입력 종료 | ESC | 텍스트 입력 모드에서 명령어 입력 모드로 전환 |
저장 없이 종료 | :q | |
저장 없이 강제 종료 | :q! | 입력한 것이 있을 때 사용 |
저장하고 종료 | :wq | 입력한 것이 있을 때 사용 |
위로 스크롤 | k | git log등에서 내역이 길 때 사용 |
아래로 스크롤 | j | git log등에서 내역이 길 때 사용 |
3. 과거로 돌아가는 두 가지 방법 - reset, revert
1) reset: 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다.
git reset --hard (돌아갈 커밋 해시)
git reset --hard
뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴
- --soft: repository에서 staging area로 이동
- --mixed (default): repository에서 working directory로 이동
- --hard: 수정사항 완전히 삭제
2) revert: 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.
git revert (되돌릴 커밋 해시)
:wq로 커밋 메시지 저장
커밋해버리지 않고 revert하기
git revert --no-commit (되돌릴 커밋 해시)
원하는 다른 작업을 추가한 다음 함께 커밋
3) git restore --staged (파일명)
--staged를 빼면 working directory에서도 제거
4. branch: 분기된 가지(다른차원)
프로젝트를 하나 이상의 모습으로 관리해야 할 때
- 예) 실배포용, 테스트서버용, 새로운 시도용
여러 작업들이 각각 독립되어 진행될 때
- 예) 신기능 1, 신기능 2, 코드개선, 긴급수정...
- 각각의 차원에서 작업한 뒤 확정된 것을 메인 차원에 통합
1) 브랜치 생성
git branch add-coach
2) 브랜치 목록 확인
git branch
add-coach 브랜치로 이동
git switch add-coach
3) 브랜치 생성과 동시에 이동하기
git switch -c new-teams
4) 브랜치 삭제하기
git branch -d (삭제할 브랜명)
5) 브랜치 강제 삭제
git branch -D (강제삭제할 브랜치명)
6) 브랜치 이름 바꾸기
git branch -m (기존 브랜치명) (새 브랜치명)
7) 여러 브랜치의 내역 편리하게 보기
git log --all --decorate --oneline --graph
5. 서로 다른 브랜치를 합치는 두 방식 - merge, rebase
merge : 두 브랜치를 한 커밋에 이어붙입니다.
- 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식입니다.
- 다른 형태의 merge에 대해서도 이후 다루게 될 것입니다.
rebase : 브랜치를 다른 브랜치에 이어붙입니다.
- 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합합니다.
- 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋습니다.
1) add-coach 브랜치를 main 브랜치로 merge
main 브랜치로 이동
아래의 명령어로 병합
git merge add-coach
:wq로 자동입력된 커밋 메시지 저장하여 마무리
병합된 브랜치는 삭제
git branch -d add-coach
2) rebase로 합치기
new-teams 브랜치를 main 브랜치로 rebase
new-teams 브랜치로 이동(merge 때와는 반대!)
아래의 명령어로 병합
git rebase main
main 브랜치로 이동 후 아래 명령어로 new-teams의 시점으로 fast-forward
git merge new-teams
new-teams 브랜치 삭제 -> git branch -d new-teams
6. 브랜치 간 충돌 해결하기 - abort, continue
브랜치 간 충돌 - 파일의 같은 위치에 다른 내용이 입력된 상황
1) merge 충돌 해결하기
당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단
git merge --abort
해결 가능 시 충돌 부분을 수정한 뒤 git add ., git commit으로 병합 완료
2) rebase 충돌 해결하기
conflict-2에서 git rebase main로 리베이스 시도하면 충돌 발생
당장 충돌 해결이 어려울 경우 아래 명령어로 merge 중단
git rebase --abort
해결 가능 시
충돌 부분을 수정한 뒤 git add .
아래의 명령어로 계속
git rebase --continue
충돌이 모두 해결될 때까지 반복
main에서 git merge conflict-2로 마무리
conflict-1, conflict-2 삭제
7. 원격으로 커밋 - push, pull
1) 원격으로 커밋 밀어올리기
git push
2) 원격으로 커밋 당겨오기
git pull
3) push 할 것이 있을 시 pull 하는 두 가지 방법
git pull --no-rebase - merge 방식
git pull --rebase - rebase 방식
push하기
4) 로컬의 내역 강제 push해보기
git push --force
5) 로컬 브랜치 원격에 push 해보기
git push -u origin from-loacal
로컬과 원격의 브랜치들 확인
git branch --all
6) 원격의 브랜치(최신커밋을) 로컬에 받아오기
(1) git fetch
원격의 변경사항 확인
(2) git branch -a
확인
(3) git switch -t origin/from-remote
로컬에 같은 이름의 브랜치를 생성하여 연결하고 switch
7) 원격의 브런치 삭제
git push (원격 이름) --delete (원격의 브랜치명)
8. 현재 속한 브랜치의 가장 최신 커밋 - HEAD
1) ^ 또는 ~: 갯수만큼 이전으로 이동
- git checkout HEAD^^^, git checkout HEAD~5
2) 커밋 해시를 사용해서도 이동 가능
- git checkout (커밋해시)
3) git checkout - : (이동을) 한 단계 되돌리기
4) 기존 브랜치로 돌아오기
git switch (브랜치명)
5) HEAD 사용하여 reset하기
git reset HEAD(원하는 단계) (옵션)
9. 도움을 받을 수 있는 기능 - help
1) 기본적인 명령어들과 설명
git help
2) Git의 모든 명령어들
git help -a
3) 해당 명령어의 설명과 옵션 보기
git (명령어) -h
4) 해당 명령어의 설명과 옵션 웹사이트에서 보기
git help (명령어) -w
REFERENCE
'Git' 카테고리의 다른 글
GitHub에 블로그 만들기 (0) | 2022.08.12 |
---|---|
GitHub 시작하기 (0) | 2022.08.07 |
많이 쓰이는 터미널 명령어 (0) | 2022.07.17 |
맥 Git 설치 및 설정 (0) | 2022.07.16 |
Sourcetree 'git status' failed with code -1 (0) | 2022.07.14 |