본문 바로가기

git25

Git 다른 환경에서 clone했는데 왜 파일이 스테이징영역으로 들어갔을까? $ git ss D .DS_Store D 0728upload_SY0518.. 어쩌구저쩌구... 알고보니 clone할 때 error: invalid path '0728upload_SY0518..'라는 에러가 떴던 것 맥에서는 잘 됐었는데 윈도우 환경으로 옮기니까 파일명때문에 에러가 발생했다. 그래서 맥이나 리눅스 환경에서 다시 파일을 수정해줘야함(...) 이제 정상적으로 clone이 됐다. 2025. 8. 5.
git 버전 되돌리기 Reset 작업을 하다보니과거 버전으로 완전히 돌리고 싶어요 ....... reset의 3가지 옵션--hard이동되는 커밋의 내용으로 작업 폴더와 스테이지 영역, 깃 저장소를 모두 복사--mixed (옵션 없는 것)이동되는 커밋의 내용으로 스테이지 영역과 깃 저장소 두 부분에 복사, 작업 폴더는 이전 내용 그대로 남음--soft이동되는 커밋의 내용으로 깃 저장소에만 복사, 스테이지 영역과 작업 폴더는 이전 내용 그대로 남음 reset: 브랜치의 마지막 커밋을 수정하는 명령checkout: HEAD 포인터를 브랜치 마지막 커밋 이전으로 이동하는 명령 복원$git reset --hard ORIG_HEAD 커밋 취소 revertdhqtus --no-edit$ git revert HEAD~이동되는 커밋의 내용으로 .. 2025. 8. 1.
git 커밋 이력 수정 기본 편집기 설정 방법$ git config --global core.editor 'code --wait' 설정된 편집기로 최근 커밋 메시지 수정 $ git commit --amend-새로운 커밋 ID로 수정됨 최은 커밋 메시지를 직접 입력해 수정$ git commit --amend -m 'an updated commit message'-새로운 커밋 ID로 수정됨 최신 커밋 내용 수정$ git commit --amend #기본 편집기로 메시지$ git commit --amend -m 'new message' #명령어에 메시지 입력$ git commit --amend --no-edit #메시지 X Rebase -i 로 여러 커밋 수정rebase의 --interactive를 사용작업공간이 깨끗한 이.. 2025. 8. 1.
git 브랜치 리베이스 rebase 커밋 X: 두 브랜치의 공통 조상 A->B->C->D \->X->Y $ git rebase 브랜치이름 # base를 최신 커밋인 D로 수정 Rebase에서의 충돌충돌 발생 가능각각 커밋에서 발생한 충돌 내용을 수정 후 추가, 계속 수행 필요충돌 발생 후 해결 절차1.파일 수정2. 파일 추가$git add 3.rebase 계속 수행, 마지막 메시지 수정$git rebase --continue3-way, fast-forward와 rebase 비교merge: 여러 분기가 생긴 변경 내용의 이력이 모두 그대로 남아있기 때문에 이력이 복잡rebase: 히스토리가 선형으로 단순해지고 좀 더 깨끗한 이력. 원래의 커밋 이력이 변경됨 ->정확한 이력을 남길 필요가 있을 경우 사용.. 2025. 8. 1.
git 병합 충돌 해결하기 3-way 상태에서 두 브랜치가 같은 파일 C를 수정했을 때 파일 충동이 발생하는데요,우리는 이걸 어떻게 해결해야 할까? 직적 파일 내용을 수정한 후 저장한다.충돌이 발생한 파일 C를 직접 편집C' 또는 C'' 또는 아예 다르게계속해서 add, commit을 진행한다필요하면 합병된 이전 브랜치를 삭제한다.충돌한 파일 내부 표시 현재 브랜치 HEAD의 수정 내용===================병합되는 브랜치 feat/list의 수정 내용>>>>>>>>>>>>>feat/list 병합 취소 후 다시 병합$ git merge --abort #병합 취소$ git merge feat/list #다시 병합 충돌 해결직접 수정 후 저장충돌 표시 모두 제거추가, 커밋 다시$ git commit -am 'Reso.. 2025. 8. 1.
git 브랜치 병합 merge 브랜치 병합병합 (merge)두 개의 브랜치를 하나로 모으는 과정fast-forward(빨리 감기) 병합3-way 경합빨리 감기 fast-forward 병합fast-forward 병합 조건현재 브랜치 master가 병합할 대상 커밋의 직접적인 뿌리(조상)가 되는 경우-간단히 두 브랜치가 일렬 상태-bugfix 브랜치 이력이 master 브랜치 이력을 모두 포함하는 경우브랜치 master에서 병합 명령$ git merge bugfixmaster 브랜치는 단순히 이동이 때 합칠 내용 없음-간단히 가리키는 지점이 대상 커밋이 되고 master가 bugfix로 이동 -> 작업 공간과 스테이징 영역이 이동되는 Y 상태로 됨기준 브랜치 master$ git merge bugfix-병합 전 $ git merge bu.. 2025. 7. 31.