GIT의 체크 아웃 및 레포로 시스템을 릴리스하는 데 도움이되는 스크립트를 만들고 싶습니다.GIT 미리보기 체크 아웃 또는 병합
내 퀘스트는 파일 시스템에서이 작업을 수행하지 않고 오류가 발생했는지 확인하기 위해 지점을 체크 아웃하는 방식으로 테스트 할 수 있습니다.
동일한 방법으로 파일 시스템을 수정하지 않고 쉽게 충돌을 식별 할 수있는 GIT 병합을 미리 볼 수 있습니까? 당신이 분기를 체크 아웃 경우, 오류가 없을거야
GIT의 체크 아웃 및 레포로 시스템을 릴리스하는 데 도움이되는 스크립트를 만들고 싶습니다.GIT 미리보기 체크 아웃 또는 병합
내 퀘스트는 파일 시스템에서이 작업을 수행하지 않고 오류가 발생했는지 확인하기 위해 지점을 체크 아웃하는 방식으로 테스트 할 수 있습니다.
동일한 방법으로 파일 시스템을 수정하지 않고 쉽게 충돌을 식별 할 수있는 GIT 병합을 미리 볼 수 있습니까? 당신이 분기를 체크 아웃 경우, 오류가 없을거야
(이 도움이 경우 전체 시스템은 리눅스 시스템에서 실행됩니다). 체크 아웃하면 분기의 이전 상태 만 복원됩니다.
병합을 확인하려면 상황이 달라집니다.
당신은 지점 mybranch
이 있고, 그것으로 otherbranch
병합 병합하기 전에 mybranch
의 상태를 기억하고 싶은 경우
git log -1 --oneline
이것은 마지막 커밋의 해시를 반환합니다. 해시 (예 : CAFEBABE
).
지금, 병합을 수행하려고 :
git merge otherbranch
모든 작동합니다. 벌금. 당신이 오류를 얻고이를 해결하고자하지 않은 경우 : git merge
이 완료되기 전에
git reset --hard CAFEBABE
이 상태로 mybranch
재설정됩니다. 여기에 설명 된대로
대신 해시 CAFEBABE
을 기억, 당신은 또한 ORIG_HEAD
의 사용을 만들 수 : HEAD and ORIG_HEAD in Git
사용 git merge --ff-only
- 그것은이 빠르게 전달 될 수있는 경우에만 지점을 병합합니다. 충돌이 불가능하고 항상 작동한다는 것을 의미합니다 (예 : 디스크 공간 부족과 같은 코스 시스템 장애 제외). 분명히 지점이 분기되지 않아야한다는 것을 의미하지만, 대부분의 경우 그렇지 않은 경우 "repo"를 변경하지 않고 다른 repo에서 잠재적 충돌을 병합해야합니다.
또 다른 방법은 심볼릭 링크 (linux 또는 ntfs)를 사용하는 것입니다. repo1
과 repo2
이라는 두 개의 리포지토리와 이들 중 하나를 가리키는 심볼릭 링크 releaserepo
이 있어야합니다. 예를 들어, releaserepo
->repo1
입니다. 이제 repo2
을 업데이트하고 모든 것이 작동하는지 확인한 다음 심볼릭 링크를 변경하고 다음 번에 repo1
을 업데이트하고 심볼릭 링크를 되돌릴 수 있습니다. symlink 생성 작업이 원초 적이기 때문에 모든 시스템 오류도 피할 수 있습니다.
예, 커밋되지 않았거나 gitinrgnor 파일의 repo가 아닌 로컬 변경 사항이있어 체크 아웃 중에 오류가 발생할 수 있습니다. –
커밋되지 않은 상태를 병합하지 않으려는 경우 – eckes