Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

힘내:강제 풀

Git은 저장되지 않았거나 추적되지 않은 변경 사항이 병합 작업에 의해 덮어쓰여지는 경우 로컬 시스템으로 파일을 가져오는 것을 방지합니다. 강제 풀 방법을 사용하여 Git이 로컬 컴퓨터에서 받고자 하는 변경 사항을 강제로 가져오도록 할 수 있습니다.

이 가이드에서는 예제를 참조하여 Git 저장소의 콘텐츠를 강제로 가져오는 방법에 대해 설명합니다. git pull 및 fetch 명령과 재설정 옵션을 사용하여 강제로 가져오는 방법에 대해 이야기하겠습니다.

당기기란 무엇입니까?

Git 풀 작업은 원격 리포지토리에서 모든 메타데이터와 파일을 다운로드하고 검색된 데이터를 기반으로 로컬 리포지토리를 업데이트합니다.

풀링은 로컬 파일을 저장소의 원격 버전과 일치시키는 데 사용되는 방법입니다. 다른 사람이 원격 저장소에 변경한 내용을 다운로드하려면 저장소를 가져와야 합니다. 당기는 것은 자동으로 일어나지 않습니다.

덮어쓸 추적되지 않은 파일이 있는 경우 끌어오기가 발생할 수 없습니다. 즉, 로컬 분기에 Git 리포지토리에 추가되지 않은 파일이 있고 가져오기가 발생하면 대체됩니다.

가져오기로 덮어쓸 수 있는 저장되지 않은 변경 사항이 로컬 시스템에 있는 경우 저장소를 가져올 수 없습니다.

Git:강제 풀기

우리는 웹 프로젝트에 대한 코드가 들어 있는 ck-git이라는 저장소에서 작업하고 있습니다. 공동 작업자가 README.md라는 파일을 업데이트했습니다. 시스템에서 해당 파일을 업데이트했으며 변경 사항을 리포지토리에 푸시하지 않았습니다.

변경 사항을 가져오려고 할 때 어떤 일이 발생하는지 살펴보겠습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

git pull

이 명령은 오류를 반환합니다.

error: Your local changes to the following files would be overwritten by merge: README.md
Please, commit your changes or stash them before you can merge.

세 가지 옵션이 있습니다. 변경 사항을 커밋하거나 숨길 수도 있고 Git이 변경 사항을 가져오도록 할 수도 있습니다. 이것들은 우리 파일을 덮어쓸 것입니다.

변경 사항을 가져온 다음 변경 사항을 표시하도록 리포지토리를 재설정하여 Git이 변경 사항을 가져오도록 할 수 있습니다. git fetch 명령을 사용하여 변경 사항을 가져오는 것으로 시작하겠습니다.

git fetch --all

이 명령은 원격 저장소의 변경 사항에 대한 모든 메타데이터를 검색합니다. 다음으로 현재 브랜치를 백업합니다. 코드를 덮어쓴 후에 작업을 잃지 않도록 하기 위해 이 작업을 수행합니다.

git branch 명령을 사용하여 분기를 백업할 수 있습니다.

git branch backup

이 명령은 "backup"이라는 새 분기를 만듭니다. 이제 백업 브랜치가 준비되었으므로 원격 리포지토리의 내용을 표시하도록 리포지토리를 재설정할 수 있습니다.

git reset 명령을 사용하여 저장소를 업데이트하겠습니다.

git reset --hard origin/master

–hard 옵션은 원격 리포지토리에서 모든 파일을 다운로드하고 프로젝트의 로컬 작업 복사본에 추가합니다. 변경 사항을 덮어씁니다.

origin/master 문은 우리가 검색하는 분기를 나타냅니다. "원본" 원격 저장소에서 "마스터" 분기의 내용을 다운로드하고 있습니다.

분기 또는 원격 이름이 다른 저장소로 작업하는 경우 이 공식을 사용하여 재설정 명령을 사용하는 방법을 안내할 수 있습니다.

git reset --hard <remote>/<branch>

git reset 명령은 가장 최근에 가져온 커밋으로 저장소를 재설정합니다.

커밋되지 않은 변경 사항 저장

git stash 명령을 사용하여 커밋되지 않은 변경 사항을 저장할 수 있습니다. 이 명령을 사용하면 나중에 코드를 "숨길" 수 있습니다. 코드의 숨김을 만들어 보겠습니다.

git stash

저장소에 대한 모든 변경 사항은 stash에 저장됩니다. 이러한 변경 사항으로 다시 작업할 준비가 되면 숨김을 "팝"할 수 있습니다.

git stash pop

git stash 튜토리얼에서 git stash로 저장하는 방법에 대해 자세히 알아볼 수 있습니다.

결론

Git 리포지토리가 원격 리포지토리에서 콘텐츠를 가져오도록 할 수 있습니다. 이렇게 하려면 저장소의 내용을 가져와야 합니다. 리포지토리를 가져오면 코드베이스에서 사용하려는 원격 리포지토리의 분기에 대한 변경 사항을 재설정할 수 있습니다.

이제 전문가처럼 Git 풀 작업을 강제 실행하는 데 필요한 지식을 얻었습니다!