728x90
반응형

git-rebase 6

branch가 3 commits만큼 'origin/master'보다 앞서 있을 때

질문 : 브랜치가 3 커밋만큼 '원산지 / 마스터'보다 앞서 있습니다. git status 실행할 때 다음이 표시됩니다. Your branch is ahead of 'origin/master' by 3 commits. 이 문제를 해결하는 방법은 git pull --rebase 실행이라는 다른 게시물을 읽었지만 정확히 rebase가 무엇인지, 데이터를 잃을 것입니까? 아니면 마스터와 동기화하는 간단한 방법입니까? 답변 로컬 마스터에서 변경하고 원격으로 푸시하지 않았기 때문에 해당 메시지가 표시됩니다. 여러 가지 방법으로 "해결"할 수 있으며 일반적으로 워크 플로가 어떻게 보이는지에 따라 다릅니다. 좋은 작업 흐름에서 마스터의 원격 복사본은 좋은 것이되어야하고 마스터의 로컬 복사본은 원격에있는 복사본 일뿐입..

개발관련/other 2021.12.25

Git의 브랜치에서 커밋 삭제하는 방법

질문 : Git의 브랜치에서 커밋 삭제 커밋을 삭제하는 방법을 알고 싶습니다. delete 라는 말은 내가 그 커밋을하지 않은 것 같고, 나중에 푸시를 할 때 변경 사항이 원격 브랜치로 푸시되지 않는다는 것을 의미합니다. 나는 git help를 읽었으며 사용해야 할 명령은 git reset --hard HEAD 입니다. 이 올바른지? 답변 주의 : git reset --hard 작업 디렉토리 변경을 삭제 합니다. 이 명령을 실행하기 전에 유지하려는 로컬 변경 사항 을 숨기십시오. 당신이 그 커밋에 앉아 있다고 가정하면이 명령은 그것을 깨울 것입니다 ... git reset --hard HEAD~1 HEAD~1 은 헤드 전에 커밋을 의미합니다. git log 의 출력을보고 백업 할 커밋의 커밋 ID를 찾은..

개발관련/Git 2021.12.16

Git 병합, Git 리베이스 사용시기

질문 : Git 병합 대신 Git 리베이스를 언제 사용합니까? Git 리베이스와 Git 병합을 사용하는 것이 권장되는시기는 언제입니까? 성공적인 리베이스 후에도 병합해야합니까? 답변 Merge는 한 분기의 모든 변경 사항을 가져와 하나의 커밋에서 다른 분기로 병합합니다. Rebase는 분기 한 지점을 새 시작 지점으로 이동하고 싶다고 말합니다. 그렇다면 둘 중 하나를 언제 사용합니까? 단일 기능을 개발할 목적으로 분기를 만들었다 고 가정 해 보겠습니다. 이러한 변경 사항을 마스터로 다시 가져 오려면 병합을 원할 것입니다 (모든 중간 커밋을 유지하는 데 신경 쓰지 않음). 두 번째 시나리오는 개발을 시작한 다음 다른 개발자가 관련없는 변경을 수행 한 경우입니다. 리포지토리에서 현재 버전의 변경 사항을 기반..

개발관련/Git 2021.12.11

Git 워크 플로 및 리베이스 및 병합 질문

질문 : Git 워크 플로 및 리베이스 및 병합 질문 저는 다른 개발자 한 명과 함께 프로젝트에서 몇 달 동안 Git을 사용해 왔습니다. 나는 SVN에 대해 수년간의 경험을 가지고 있기 때문에 관계에 많은 짐을 가져다 줄 것 같습니다. Git이 분기 및 병합에 탁월하다고 들었는데 지금까지는 보이지 않습니다. 물론 분기는 매우 간단하지만 병합하려고하면 모든 것이 지옥으로 이동합니다. 이제 저는 SVN에서 익숙해졌지만, 한 서브 파 버전 시스템을 다른 시스템으로 교환 한 것 같습니다. 내 파트너는 내 문제가 willy-nilly를 병합하려는 욕구에서 비롯되며 여러 상황에서 병합 대신 rebase를 사용해야한다고 말합니다. 예를 들어, 그가 작성한 워크 플로는 다음과 같습니다. clone the remote ..

개발관련/Git 2021.10.08

'git merge'와 'git rebase'의 차이점

질문 : 'git merge'와 'git rebase'의 차이점은 무엇입니까?git merge 와 git rebase 의 차이점은 무엇입니까?답변원래 3 개의 커밋 A , B , C 가 있다고 가정합니다.그런 다음 개발자 Dan은 커밋 D 생성하고 개발자 Ed는 커밋 E 생성했습니다.분명히이 갈등은 어떻게 든 해결되어야합니다. 이를 위해 두 가지 방법이 있습니다.이동 :커밋 D 와 E 모두 여전히 여기에 있지만 D 와 E 모두에서 변경 사항을 상속하는 M 을 만듭니다. 그러나 이것은 많은 사람들이 매우 혼란스럽게 생각하는 다이아몬드 모양을 만듭니다.REBASE :실제 파일 내용이 M 과 동일한 커밋 R 생성합니다. 그러나 우리는 E 제거합니다 (점-소실 선으로 표시됨). 이러한 삭제로 인해 E 는 개발자..

개발관련/Git 2021.09.14

Git에서 처음 두 커밋을 Squash 하는 방법

질문 : Git에서 처음 두 커밋을 스쿼시 하시겠습니까? git rebase --interactive 하면 원하는 수의 커밋을 하나의 커밋으로 통합 할 수 있습니다. 초기 커밋에 커밋을 스쿼시하지 않는 한 모든 것이 좋습니다. 불가능 해 보입니다. 그것을 달성하는 방법이 있습니까? 관련 질문에서, 나는 첫 번째 커밋에 대해 스 쿼싱의 필요성에 대한 다른 접근 방식을 생각해 냈습니다. 즉, 두 번째 커밋으로 만들었습니다. 관심이 있다면 : git : 커밋을 첫 번째로 삽입하고 나머지는 모두 이동하는 방법? 답변 2012 년 7 월 업데이트 ( git 1.7.12+ ) 이제 모든 커밋을 루트까지 리베이스하고 두 번째 커밋 Y 를 첫 번째 X 로 스쿼시하도록 선택할 수 있습니다. git rebase -i --..

개발관련/Git 2021.09.07
728x90
반응형