Git 풀을 강제로 로컬 파일 덮어쓰기
Git 원격 리포지토리에서 일종의 pull을 수행하는 첫 번째 작업 중 하나가 새로운 사용자에게는 Git이 약간 어렵습니다. 그런 다음 Git이 몇 개의 로컬 파일을 덮어쓰도록 하는 실행 가능한 접근 방식을 발견할 것입니다.
의심할 여지 없이 Git은 팀의 작업을 관리하는 데 매우 효과적인 도구입니다. Git을 현명하게 사용하려면 몇 가지 중요한 원칙을 인식해야 합니다. 좋은 점은 제대로 배우면 피할 수 없는 문제에 부딪힐 일이 거의 없다는 것입니다.
우리는 일반 Git 워크플로에서 하나 이상의 분기가 있는 원격 저장소인 로컬 저장소를 사용합니다. 저장소는 전체 기록과 모든 지점을 포함하여 프로젝트에 관한 모든 기록을 유지합니다. 분기는 빈 프로젝트에서 현재 상태로 이어지는 변경 그룹입니다.
로컬 파일에서 작업 중이고 새로운 변경 사항을 도입할 때 로컬 변경 사항을 원격 저장소에 푸시해야 하며 로컬 변경 사항이 원격 저장소에 푸시될 때까지 모든 작업을 시스템에서 사용할 수 있습니다. 문제는 팀이 같은 작업을 하고 있고 같은 장소에서 변경을 원할 때 시작됩니다.
pull
은 원격 분기에서 데이터를 가져온 다음 변경 사항을 로컬 저장소에 병합하는 여러 작업을 기반으로 합니다. 위에서 언급한 작업은 다음 명령을 사용하여 수동으로 수행할 수 있습니다.
git fetch
git merge origin/$CURRENT_BRANCH
Git 리포지토리에서 작업하는 동안 두 가지 주요 선택 사항이 있습니다.
로컬 변경 사항 유지
이 경우 커밋되지 않은 변경 사항이 중요한 경우 두 가지 방법으로 수행할 수 있습니다.
먼저 커밋한 다음 git pull
을 적용할 수 있습니다.
둘째, 당신은 그들을 숨길 수 있습니다. 정확히 말하면 stash는 커밋을 한다고 설명할 수 있지만 그 당시에는 현재 브랜치에 보이지 않지만 Git을 통해 액세스할 수 있습니다. 저장된 변경 사항(stash
사용)을 다시 가져오기 위해 git stash pop
명령을 사용합니다. 이 명령은 더 이상 필요하지 않으므로 숨김 변경 사항을 넣은 후 숨김 커밋을 제거합니다.
git fetch (it will fetch the folder for the local machine)
git stash (it will stash the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder)
git stash pop (it will do all stash to latest)
Git 풀을 강제로 로컬 파일 덮어쓰기
이 상황에서는 커밋되지 않은 모든 로컬 변경 사항을 해제하려고 합니다. 때로는 실험을 위해 파일을 수정하지만 그 후에는 변경을 원하지 않는다는 것을 알게 됩니다. 그런 다음 업스트림으로 업데이트하기만 하면 됩니다.
이렇게 하면 가져오기와 병합 사이에 이 작업에 한 단계가 더 추가됩니다. 따라서 분기를 원래 상태로 재설정하여 git merge
가 작동하도록 합니다.
git fetch (fetch the local machine folder)
git reset --hard HEAD (it will remove the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder)
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn