본문 바로가기

형상관리/Git7

[git] detached HEAD 문제로 push가 되지 않을 경우 3개의 커밋을 합치기 위해서 아래 명령어를 실행함 git rebase -i HEAD~3 그러자 원격저장소에 detached HEAD 상태에 있다면서 push가 되지 않았다. 구글링 결과 상황을 복구하려면 분리된 HEAD가 현재 가리키는 커밋을 가리키는 분기를 만들어야 한다고 함 git branch temp git checkout temp 임시 브랜치 temp 생성 git branch -f master temp git checkout master master 브랜치를 temp 브랜치가 가리키는 커밋과 동일하게 설정하게 함 이 두 명령은 다음과 같이 축약할 수도 있다고 함 (git checkout -B master temp) git branch -d temp git push origin master 마지막으.. 2023. 12. 6.
git #6 Branch 보다 깊이 알기 다른 브랜치의 원하는 커밋 가져오기 git cherry-pick (체리의 해시) 다른 커밋들을 하나로 묶어 가져오기 git merge --squash (대상 브랜치) 변경사항들 스테이지 되어 있음 git commit 후 메시지 입력 일반 merge와의 차이 정리 일반 merge와 merge --squash는, 실행 후 코드의 상태는 같지만 내역 면에서 큰 차이가 있는 것이라고 이해하시면 됩니다. 일반 merge : A와 B 두 브랜치를 한 곳으로 이어붙임 merge --squash : B 브랜치의 마디들을 복사해다가 한 마디로 모아 A 브랜치에 붙임 (staged 상태로) 다른 브랜치에서 파생된 브랜치 옮겨붙이기 git rebase --onto (도착 브랜치) (출발 브랜치) (이동할 브랜치) 사용되는 .. 2023. 1. 6.
git #5 커밋 관리 하기 작업을 커밋할 때 권장사항 1. 하나의 커밋에는 한 단위의 작업을 넣도록 합니다. 한 작업을 여러 버전에 걸쳐 커밋하지 않습니다. 여러 작업을 한 버전에 커밋하지 않습니다. 2. 커밋 메시지는 어떤 작업이 이뤄졌는지 알아볼 수 있도록 작성합니다. 아래 명령어로 hunk별 스테이징 진행 git add -p 옵션 설명을 보려면 ?입력 후 엔터 y 또는 n로 각 헝크 선택 변경사항을 확인하고 커밋하기 git commit -v 커밋 치어두기 git stash git stash save 와 같음 git stash -m 'Add Stash3' 메시지와 함께 스태시 원하는 시점, 브랜치에서 다시 적용 git stash pop 원하는 것만 stash 해보기 git stash -p 스태시 목록 보기 git stash l.. 2023. 1. 4.
git #4 원격저장소 사용하기 && 원격 충돌시 GitHub 레포지토리 생성 후 명령어 git remote add origin (원격 저장소 주소) 로컬의 Git 저장소에 원격 저장소로의 연결 추가 원격 저장소 이름에 흔히 origin 사용. 다른 것으로 수정 가능 git branch -M main GitHub 권장 - 기본 브랜치명을 main으로 git push -u origin main 로컬 저장소의 커밋 내역들 원격으로 push(업로드) -u 또는 --set-upstream : 현재 브랜치와 명시된 원격 브랜치 기본 연결 원격 목록 보기 git remote 자세히 보기: git remote -v 원격 지우기 git remote remove (origin 등 원격 이름) GitHub에서 프로젝트 다운받기 git clone (원격 저장소 주소) 원격.. 2023. 1. 1.