[목차]
1. 설정 및 기초
2. git branch
3. git push, pull, clone
1. 설정 및 기초
이름, 메일 설정
git config --global user.name "~~~"
git config --global user.email "~~~"
설정 확인
git config --list
git초기화
git init
트래킹(전체파일)
git add .
커밋 with message
git commit -m "~~~"
위 작업을 한 번에
git commit -am "~~~"
로그 확인
git log
reset --hard : 모두 원복
reset --mixed : add 하기 전으로 (작업영역의 내용 변경이 더 필요할 때)
reset --soft : commit 하기 전으로 (주로 이전 커밋으로 돌아가려고 할 때)
git reset --hard [hashcode]
한번이라도 커밋한 내역 보고 돌아가기
git reflog
커밋메시지만 수정하려면. 편집기 열리면 수정하고 저장 후 종료.
git commit --amend
편집기 없이 바로 하려면
git commit --amend -m "~~~"
커밋 통합하기. vi에디터
git rebase -i HEAD~3
1. 제일 상단만 pick 으로 두고 그 밑에 전부 s(squash)로 변경 저장
2. 커밋 메시지 정리 후 저장
2. git branch
fast-forward merge : 형상이 같을 때
3-way merge : 형상이 다를 때
git branch [name] #브랜치 생성
git checkout -b [name] #브랜치를 만들면서 헤드를 이동
git merge [브랜치] #master에 헤드를 둔 상태에서 merge하려는 브랜치 병합
conflic 발생 시 수정 후 다시 merge
rebase 로그 정리(깔끔). pick, squash
과거로만 정리 가능. 최신부터 s, s, pick 할 때. d는 drop, r은 rename
git rebase -i HEAD~3
main 브랜치 체크아웃 상태에서 아래 명령어를 이용하면 커밋 안된 상태로 merge됨
rebase 할 필요없음
git merge --squash topic
fast-forward merge 할 때 로그 남기기
git merge --no-ff [브랜치명]
3. git push, pull, clone
push
업로드 병합
git init
git add .
git commit -m "~~~"
github 공간 연결
git remote add origin [git주소]
현재 연결된 github 주소 확인
git remote -v
git ls-remote
upload and merge
git push origin main
브랜치 만들면서 올릴 때
git push origin [브랜치명]
전체 브랜치 모두 올릴 때
git push --all
# 번외
연결 삭제
git remote rm origin
태그 달기. 현재 브랜치의 커밋에 태그 달림.
git tag [태그명]
태그 확인
git tag -n
태그까지 같이 올리기
git push --tags origin main
pull
다운로드 병합
git pull origin main
# 브랜치 다운 받을 때
- 방법1 : 모든 브랜치 다운로드
git checkout -b topic
git fetch origin # origin의 모든 브랜치를 로컬로 다운로드하며 동기화
git merge origin/topic
- 방법2 : topic 브랜치만 다운로드
git checkout -b topic
git pull origin topic
- 방법3 : 브랜치 생성 및 머지
git fetch origin
git checkout -b topic origin/topic
clone
복사
git clone [git주소]
git 기본 브랜치 master에서 main으로 변경하기
// master branch 상태에서
git branch -M main
'개발 > Etc' 카테고리의 다른 글
SQL 기본 문법 (0) | 2023.06.13 |
---|---|
토이프로젝트 Plus Typo (0) | 2023.03.20 |
웹 성능 개선 - 폰트편 (0) | 2023.01.12 |
Cumulative Layout Shift(누적 레이아웃 이동, CLS) (0) | 2023.01.11 |
npm trends _ 라이브러리 선택할 때 유용한 서비스 (2) | 2023.01.11 |