모든 풀에서 모든 것을 덮어쓰도록 깃 풀을 강제하려면 어떻게 해야 합니까?
3개의 개발자 저장소가 정상적으로 풀링하고 푸시하는 중앙 베어 저장소가 있습니다.
또한 중앙 저장소에서 사용할 수 있는 다른 두 개의 저장소가 있습니다. 하나는 라이브 서버이고 다른 하나는 테스트/스테이지 서버입니다. 각각의 저장소는 각자의 지점에서 사용할 수 있습니다.
시나리오는 다음과 같습니다.나는 있습니다post-update
테스트 및 라이브 저장소에 자동으로 액세스하고 각각에 대해 풀 명령을 실행하는 CENTRAL repo의 후크 스크립트.이렇게 하면 테스트 서버와 활성 서버가 모두 업데이트되며, 이는 새 커밋이 있는 분기에 따라 달라집니다.이 모든 것이 잘 작동합니다.
문제는 이것입니다. 비상시에는 ftp 등을 통해 서버에서 파일이 직접 업데이트될 수 있으며 병합/덮어쓰기 충돌이 발생하기 때문에 CENTAL 사후 업데이트 스크립트가 실패할 수 있습니다.이 시나리오를 피할 방법이 없고, 피할 수 없는 일입니다.
제가 원하는 것은 다음과 같습니다.라이브 사이트와 테스트 사이트에서 끌어오기를 원할 때 항상 덮어쓰거나 병합합니다.항상.이러한 리포지토리는 개발용이 아니므로 풀 전용입니다.
제가 조사한 바로는 항상 로컬 파일을 강제로 덮어쓰는 풀을 사용할 수 있는 좋은 해결책을 찾을 수 없습니다.이것이 가능할까요?그렇다면 훌륭한 개발 시나리오가 될 것입니다.
정말로 이상적인 방법은 사용하지 않는 것입니다.pull
전혀, 하지만 대신에fetch
그리고.reset
:
git fetch origin master
git reset --hard FETCH_HEAD
git clean -df
(변경)master
원하는 지점으로 이동합니다.)
pull
어떤 식으로든 변화를 함께 병합하는 것을 중심으로 설계된 반면,reset
로컬 복사본이 특정 커밋과 일치하도록 만드는 것을 중심으로 설계되었습니다.
약간 다른 옵션을 고려하는 것이 좋습니다.clean
시스템의 필요에 따라 달라집니다.
사용해 볼 수 있습니다.
git reset --hard HEAD
git pull
("git pull"을 강제로 사용하여 로컬 파일을 덮어쓰려면 어떻게 해야 합니까?)
다른 아이디어는 전체 Git를 삭제하고 새 클론을 만드는 것입니다.
분기의 복사본을 가져와서 원본에서 로컬 파일을 강제로 덮어쓰려면 다음을 사용합니다.
git reset --hard origin/current_branch
현재 작업은 모두 손실되고 오리진 분기와 동일합니다.
git reset --hard HEAD
git fetch --all
git reset --hard origin/your_branch
한 명령으로 수행하는 방법은 잘 모르겠지만 다음과 같은 작업을 수행할 수 있습니다.
git reset --hard
git pull
아니 심지어는
git stash
git pull
후크를 교체하여 모든 것을 깨끗하게 닦을 수 있습니다.
# Danger! Wipes local data!
# Remove all local changes to tracked files
git reset --hard HEAD
# Remove all untracked files and directories
git clean -dfx
git pull ...
마지막 풀/클론 이후 아직 로컬 변경을 커밋하지 않은 경우 다음을 사용할 수 있습니다.
git checkout *
git pull
checkout
마지막 로컬 커밋으로 로컬 변경 사항을 삭제합니다.pull
합니다.
언급URL : https://stackoverflow.com/questions/9589814/how-do-i-force-git-pull-to-overwrite-everything-on-every-pull
'programing' 카테고리의 다른 글
구성 요소는 Angular에서 두 모듈 선언의 일부입니다. (0) | 2023.06.23 |
---|---|
'controlname' 이름이 현재 컨텍스트에 없습니다. (0) | 2023.06.23 |
서비스 작업자는 웹 앱 매니페스트의 사전이어야 합니다. (0) | 2023.06.18 |
MVVM Light SimpleIoc을 사용하는 방법은 무엇입니까? (0) | 2023.06.18 |
Javascript date to sql date 객체 (0) | 2023.06.18 |