암호를 사용하여 PuTTy로 git-shell에 로그인합니다. git-shell (데비안 리눅스 서버의 제한된 로그인 쉘)에 입력 한 내용은 "인식 할 수없는 명령"과 같은 응답이됩니다.git-shell에서 어떤 기본 명령이 작동합니까?
git> git help -a
unrecognized command 'git'
암호를 사용하여 PuTTy로 git-shell에 로그인합니다. git-shell (데비안 리눅스 서버의 제한된 로그인 쉘)에 입력 한 내용은 "인식 할 수없는 명령"과 같은 응답이됩니다.git-shell에서 어떤 기본 명령이 작동합니까?
git> git help -a
unrecognized command 'git'
git-shell
은 매우 제한적입니다. 자세한 내용은 man page을 참조하십시오.
기본적으로 푸시/끌어 오기 작업을 허용하기 위해 몇 가지 명령 만 실행할 수 있습니다. git 서버가 git 저장소와의 상호 작용에만 제한된 "안전한"SSH 액세스를 제공하는 방법입니다. 또한 기본적으로 대화 형 로그인 액세스가 없습니다.
git-shell을 사용하여 작업을 푸시/풀/페치하기 만하면 특별한 작업을 수행 할 필요가 없습니다. 그것은 이미 그 일을 할 수 있습니다. 특이한 일을하고 싶다면 커스텀 커맨드 만 정의하면됩니다.
당신은 ~/git-shell-commands/
디렉토리가 있지만 비어 있다고 덧붙입니다. 디렉토리가 있으면 대화식 모드가 활성화되므로 git>
프롬프트가 표시됩니다. 그러나 명령 디렉토리가 비어 있으면 실행할 수있는 유효한 명령이 없음을 의미합니다. 이 시나리오에서 실행할 수있는 유일한 것은 exit
입니다.
git-shell
을 사용하려면 ~/git-shell-commands
에 몇 가지 명령을 만들어야합니다. 정확히 무엇을 창조 할 것인가는 당신에게 달렸습니다. 예를 들어 list
을 만들고이 스크립트가 서버에서 사용 가능한 리포지토리의 목록을 반환하도록 할 수 있습니다.
"표준 명령"을 사용하려면 주석에 표시 할 때 git-shell
은 찾고있는 도구가 아니라고 생각합니다. 당신이 정기적 인 로그인 쉘을 찾는 것처럼 들린다.
예제 사용자 정의 명령은 다음과 같을 수 있습니다. 위에 제안한 list
명령의 구현 예입니다.
this blog post에는 몇 가지 예가 있습니다.
'git-shell '은 범용 쉘이 아닙니다. 기본적으로 비 대화식으로 만 특정 명령을 실행할 수 있습니다. 대화식으로 사용하려면 실제 명령을 정의하는 등 더 많은 작업을 수행해야합니다. [man page] (https://git-scm.com/docs/git-shell)를 읽어야합니다. –
정말입니까? 설명서에는 "... git-shell-commands라는 하위 디렉토리에 커스텀 명령이 있습니다."라고 쓰여 있습니다. 음, 그 하위 디렉토리는 존재하지만 표준 명령 만 사용하기 때문에 비어 있습니다. 나는 처음부터 작동하는 _any_ 표준 명령에 만족할 것이다. – Rusty