TortoiseHg에서 Mercurial 명령을 작성하고 SSH를 사용하여 원격 Linux로 보냅니다.

TortoiseHg에서 Mercurial 명령을 작성하고 SSH를 사용하여 원격 Linux로 보냅니다.

나는 사용한다거북이Hg 작업대내 로컬 Windows 컴퓨터에서 저장소를 관리하고 있으며 TortoiseHg가 GUI를 사용하여 수행하는 클릭을 기반으로 명령을 구성하는 방식이 마음에 듭니다.

하지만 저는 TortoiseHg를 사용하여 웹 서버에 있는 원격 Unix Mercurial 클라이언트가 아닌 로컬 Windows 저장소를 관리하는 방법만 알고 있습니다.

SSH를 통해 터널링하고 Unix 웹 서버에 명령을 보내는 것이 가능합니까? TortoiseHg를 사용하여 웹 서버에서 원격으로 저장소를 관리하고 싶습니다.

답변1

아니요, 불가능합니다. SSH(및 HTTPS)를 통해 보낼 수 있는 유일한 "명령"은 hg push및 입니다 hg pull.

실제로는 "명령"으로 전송되지 않습니다. 대신 Mercurial은 자체 프로토콜을 사용하여 클라이언트가 "이 변경 세트가 있습니까?", "지점 헤드가 무엇입니까?"와 같은 몇 가지 사항에 대해 원격 서버에 쿼리할 수 있습니다. "이 묶음을 받아주세요!"

SSH를 사용하면 Mercurial 클라이언트가 SSH 터널을 만들고 hg serve --stdio원격 호스트에서 시작합니다. 이 hg serve명령은 위에서 설명한 Mercurial 유선 프로토콜을 말하는 것입니다. Bitbucket과 같은 호스팅 환경은 잠겨 있으므로오직SSH를 통해 실행할 수 있는 명령 — 그들은 서버에서 임의의 명령을 실행하는 것을 원하지 않습니다!

원격 저장소를 관리하는 경우너 스스로웹 서버: SSH로 로그인하고 Unix 서버에 빈 저장소를 생성해야 합니다.

$ hg init my-website

그런 다음 로컬 컴퓨터에서 서버로 푸시할 수 있습니다.

$ hg push ssh://your-server.com/path/from/home-dir/to/my-website

웹사이트 관리에 대해 이야기하고 있으므로 다음을 추가하고 싶을 수도 있습니다.

[hooks]
changegroup = hg update

원격 저장소의 파일 에 : 해당 저장소에 푸시할 때마다 .hg/hgrcMercurial이 실행됩니다 . hg update이는 작업 복사본이 최신 파일로 업데이트되어 웹 서버가 이를 전 세계에 제공할 수 있음을 의미합니다.

관련 정보