본문 바로가기

Git

(10)
[Git] 깃 저장소에서 여러 디렉토리 관리하려고 하고 하는데 어떤 디렉토리에 -> 표시가 생기고 해당 디렉토리가 들어가지 않는 문제 🚨 문제 요약GitHub 리포지토리에서 폴더 옆에 화살표(→) 아이콘이 표시됨→ 이건 **해당 폴더가 서브모듈(submodule)**로 잘못 추가되어 있기 때문에 발생한 문제입니다.git rm --cached 명령어로 서브모듈을 삭제하고 나서 푸시(push)하려 했을 때 에러 발생→ error: failed to push some refs 에러가 발생한 이유는 원격 리포지토리와 로컬 리포지토리의 기록이 일치하지 않기 때문입니다.🔎 왜 화살표(→) 표시가 발생했나요?화살표(→) 아이콘은 **Git 서브모듈(submodule)**을 나타냅니다.💡 서브모듈이란?서브모듈은 Git 리포지토리 안에 또 다른 Git 리포지토리를 포함할 때 사용됩니다.서브모듈은 **바로가기(링크)**처럼 동작합니다. 실제 폴더가..
[git] 서브모듈 해쉬 커밋 충돌 날 때 충돌 해결 편법 1. 작업 흐름: 브랜치 전환을 이용한 서브모듈 충돌 처리상황: dev -> prd 병합 중 src/assets/common 서브모듈 파일 충돌 발생편법: 브랜치를 하나 만들어서 해당 브랜치에서 src/assets/common 충돌 상황을 추적하게 만들고 다른 브랜치로 이동해서 git status를 이용해서 충돌 처리 서브모듈같은 독립적인 저장조는 다른 브랜치에서도 git status를 인식이 가능하다고함. 이 편법을 이용0단계: dev: dev-host-1, prd: prd-khs 로 브랜치 생성1단계: prd-khs에서 병합 시작prd-khs 브랜치로 이동git checkout prd-khs   2. prd-khs 브랜치에서 dev 병합 시도이 시점에서 충돌이 발생CONFLICT (submodule)..
여러 브랜치를 관리 해야 하고, git pull 함부로 써서 충돌 처리를 하기 힘들 때 좋은 방법 git pull origin  충돌이 일어났을 때 흔히 위의 코드를 써서 충돌을 처리하고는 한다. 하지만 때때로 브랜치끼리 따로 관리 되어 하나의 브랜치가 다른 모양의 프로젝트일 수 있다. 그렇기 어느 프로젝트에 종속되있는 브랜치를 따기 어려운 상태고, 이런 상황에서 충돌 처리하려고 하면 어려운 상황이 놓일 때가 있다. 보통 가중 단순한 해결 방법은 merge하고자 하는 저장소 코드를 복사해서 내꺼에 붙이고, merge한 다음 따로 저장 해둔 new source를 다시 붙이는 방법이 있다. 그런데 이방법을 써도 계속 충돌 나는 상황이 존재한다. 이런 상황일 때,  강제적으로 그냥 넣어 주고 싶은 욕구가 마구 솟아오른다. 이럴 때 해결 방법이git checkout origin/dev -- src/compo..
깃 체리픽 하는 방법 https://chat.openai.com/share/3987fbaf-05fc-4124-83e6-28e9409941a3 ChatGPTA conversational AI system that listens, learns, and challengeschat.openai.com 기본이 되는 브랜치 : main병합 목적 브랜치: dev내가 작업한 브랜치: coding-dev main 이 운영계 dev가 개발계이고, 이렇게 있을 때 main을 기준으로 coding -dev를 딴 다음 dev에 반영하고, 나중에 작업을 모아서 dev => main에 병합하는 방식으로 작업한다고 생각해 보자. 이럴 때 coding-dev에서 작업을 한 후, coding-dev => dev로 머지하려고 할 때 모종의 이유르 내가 작업한..
git 작업을 이전으로 되돌리는 방법들 내 소스 / 리포지토리가 git pull을 수행하기 전의 이전 상태가되도록 git pull을 되돌 리거나 실행 취소하는 방법이 있습니다. git pull 취소하고 되돌리기 git reset --hard git merge 취소하고 되돌리기 git reset --merge ORIG_HEAD git commit 취소하고 되돌리기 git reset --hard HEAD git add 취소하고 되돌리기 git reset HEAD 주의 이 섹션에 나열된 명령은 커밋되지 않은 모든 변경 사항을 제거하여 잠재적으로 작업 손실을 초래할 수 있습니다
Git : 여러 프로젝트들 모음에서 새로운 프로젝트 추가 시 문제 해결 방법 [상황 설명] 저장소에 프로젝트를 모아놓고 작업을 하다보면 가끔 새로운 컴퓨터에서 새로운 프로젝트를 추가하고 git push를 하고 싶은 상황이 온다. 그러면 기존의 저장소에 여러 프로젝트들을 pull 땡기고, 거기다 내가 지금 작업한 프로젝트를 푸쉬하면 될거라고들 생각한다. 하지만 전혀 다른 컴퓨터에서 작업을 한거기 때문에 git은 이 프로젝트는 기존의 프로젝트랑 상관이 없는 거라 판단 거부한다. 이럴때 강제로 pull/ push 하는 방법을 알아보자! (pull 땡길 때 문제 상황) PS C:\Users\USER\ass> git pull origin main remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done..
[GIT] 깃 저장소 디폴트 변경 - 깃허브 디폴트 브랜치를 변경하고 싶을 때가 있다. - 사실 보통 master가 회복불가로 꼬였을 때다 으악~~!!!! - Settings 로 이동 - 왼쪽 상단에서 Branches 를 클릭 후 바꿀 브랜치명 변경 - Update 버튼 => 디폴트 브랜치가 변경된다. - 디폴트 변경 완료!
[Git] git ssl 인증 관련 오류, 깃허브 저장소 디렉터리 모양 <- 오류 문제 해결 방안 git clone시 ssl 인증 관려 오류를 해결하는 방법 => 인증을 안하게 설정해서 clone git config --global http.sslVerify false GitHub 디렉토리 화살표 표시 -> 폴더 접근 불가능 githun를 init 하면 알다시피 루트 디렉토리에 .git이 생성된다. 그런데 내가 만들 파일중에 .git이 존재한다면 다음과 같은 문제가 발생한다. 결론적으로 .git을 제거후 다시 커밋, 푸쉬하면 된다. "khs-test-dir" 라는 디렉터리 접근 불가능한 상태로 디렉토리에 들어갔다고 해보자. $ rm -rf .git 로 해당 위치의 .git을 제거 rm -rf .git $ git rm --cached . -rf "{-> 표시가 된 파일 삭제 및 commit 캐시도 삭제..

728x90