2016-06-27 3 views
0

게스트에 Linux가 실행되는 Windows 호스트에 가상 시스템 (가상 박스)이 있습니다. 내 네트워크 위치에있는 방식으로 Samba와 파일 공유를 설정하여 클라이언트에 git repo가 ​​있습니다. 내 Windows 호스트에서 SourceTree를 내 git 클라이언트로 실행하여 VM의 저장소에 영향을줍니다.리눅스 가상 머신에서 git 손상을 방지하려면 어떻게해야합니까?

문제는 매번 게스트에있는 자식 객체가 손상된다는 것입니다. 나는 이미 손상된 후에 git repo를 고치는 방법을 발견했다. 나는 그것을 고쳤다. 문제는 수정 프로그램이 내 커밋되지 않은 변경 사항을 제거하므로 매번 백업해야한다는 것입니다.

제 질문은 가능한 경우 해당 자식 객체의 손상을 방지 할 수 있습니까?

유의 사항 : VM을 강제 종료하지 않습니다. 소스 트리에서 자동 새로 고침 기능을 해제 해 보았습니다. 모든 작업 세션이 끝날 때 git 파일을 백업 할 수 있다는 것과 그와 같은 진행 상황을 피할 수 있다는 것을 알고 있습니다.하지만 성가시다.

나는 어떤 제안이 있어도 열람 할 수 없습니다.

답변

1

같은 저장소에있는 두 가지 다른 git 실행 파일 (Windows 용과 Linux 용)을 함께 사용하는 것은 좋지 않은 것처럼 들립니다.

힘내는 분산 VCS 설계이므로 이점을 활용할 수 있습니다. Windows 파일 시스템에 저장소의 복제본 하나를 가지고 Linux VM에 하나만 복제합니다. 그런 다음 Linux VM에 베어 레포 (git init --bare)를 가지고 작업을 밀어 넣고 다른 repo에서 작업을 가져올 수 있습니다. Windows 호스트의 ssh을 사용하여 samba가 아닌 변경 사항을 푸시하십시오. 두 개의 비 베어 저장소를 직접 푸시 할 수는 있지만 권장되지는 않습니다 (예 : 비 베어 저장소의 현재 분기로 푸시 할 수 없음).

언제든지 웹 기반 git 서비스 (GitHub, gogs, GitLab, ...)에 액세스 할 수있는 경우이를 밀어 넣기 및 당기기에 사용할 수도 있습니다.

+0

두 가지 다른 git 실행 파일로 작업하지 않습니다. bitbucket에서 저장소를 읽을 수 없기 때문에 변경할 때마다 커밋하고 푸시 할 수 없습니다. – Silviu

+0

왜 VM 안에 리포가 있습니까? – flyx

+0

설치가 이상하지만 호스트의 파일을 사용하는 대신 호스트에서 해당 환경의 개발을 수행하고 있습니다. 나는 어쨌든 내가 호스트의 SourceTree를 사용하여 손님의 git repo를 관리한다는 것을 질문한다. – Silviu

관련 문제