{"id":13511684,"url":"https://github.com/gitlabhq/gitlab-shell","last_synced_at":"2025-05-14T22:08:48.077Z","repository":{"id":6756843,"uuid":"8003417","full_name":"gitlabhq/gitlab-shell","owner":"gitlabhq","description":"Replacement for gitolite. This repo is a mirror of https://gitlab.com/gitlab-org/gitlab-shell/","archived":false,"fork":false,"pushed_at":"2025-05-06T14:02:27.000Z","size":7347,"stargazers_count":528,"open_issues_count":52,"forks_count":311,"subscribers_count":77,"default_branch":"main","last_synced_at":"2025-05-06T15:48:07.977Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitlabhq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".gitlab/CODEOWNERS","security":null,"support":"support/gitlab_config.rb","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-02-04T08:11:01.000Z","updated_at":"2025-05-06T14:02:31.000Z","dependencies_parsed_at":"2023-02-19T07:31:14.896Z","dependency_job_id":"cb4b2008-5517-49e2-bc8f-7f5603c10ddf","html_url":"https://github.com/gitlabhq/gitlab-shell","commit_stats":{"total_commits":1394,"total_committers":176,"mean_commits":7.920454545454546,"dds":0.8601147776183644,"last_synced_commit":"da4a4d774fd8d5396dd53ed077789c380a44476f"},"previous_names":[],"tags_count":257,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitlabhq%2Fgitlab-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitlabhq%2Fgitlab-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitlabhq%2Fgitlab-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitlabhq%2Fgitlab-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitlabhq","download_url":"https://codeload.github.com/gitlabhq/gitlab-shell/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235700,"owners_count":22036964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T03:01:05.996Z","updated_at":"2025-05-14T22:08:43.062Z","avatar_url":"https://github.com/gitlabhq.png","language":"Go","funding_links":[],"categories":["Go","Web 后端"],"sub_categories":[],"readme":"---\nstage: Create\ngroup: Source Code\ninfo: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments\n---\n\n[![pipeline status](https://gitlab.com/gitlab-org/gitlab-shell/badges/main/pipeline.svg)](https://gitlab.com/gitlab-org/gitlab-shell/-/pipelines?ref=main)\n[![coverage report](https://gitlab.com/gitlab-org/gitlab-shell/badges/main/coverage.svg)](https://gitlab.com/gitlab-org/gitlab-shell/-/pipelines?ref=main)\n[![Code Climate](https://codeclimate.com/github/gitlabhq/gitlab-shell.svg)](https://codeclimate.com/github/gitlabhq/gitlab-shell)\n\n# GitLab Shell\n\nGitLab Shell handles Git SSH sessions for GitLab and modifies the list of\nauthorized keys. GitLab Shell is not a Unix shell nor a replacement for Bash or Zsh.\n\nGitLab supports Git LFS authentication through SSH.\n\n## Development Documentation\n\nDevelopment documentation for GitLab Shell [has moved into the `gitlab` repository](https://docs.gitlab.com/ee/development/gitlab_shell/).\n\n## Project structure\n\n| Directory | Description |\n|-----------|-------------|\n| `cmd/` | 'Commands' that will ultimately be compiled into binaries. |\n| `internal/` | Internal Go source code that is not intended to be used outside of the project/module. |\n| `client/` | HTTP and GitLab client logic that is used internally and by other modules, e.g. Gitaly. |\n| `bin/` | Compiled binaries are created here. |\n| `support/` | Scripts and tools that assist in development and/or testing. |\n| `spec/` | Ruby based integration tests. |\n\n## Building\n\nRun `make` or `make build`.\n\n## Testing\n\nRun `make test`.\n\n## Release Process\n\n1. Create a `gitlab-org/gitlab-shell` MR to update [`VERSION`](https://gitlab.com/gitlab-org/gitlab-shell/-/blob/main/VERSION) and [`CHANGELOG`](https://gitlab.com/gitlab-org/gitlab-shell/-/blob/main/CHANGELOG) files, e.g. [Release v14.39.0](https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/1123).\n2. Once `gitlab-org/gitlab-shell` MR is merged, create the corresponding git tag, e.g. https://gitlab.com/gitlab-org/gitlab-shell/-/tags/v14.39.0.\n3. Create a `gitlab-org/gitlab` MR to update [`GITLAB_SHELL_VERSION`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/GITLAB_SHELL_VERSION) to the proposed tag, e.g. [Bump GitLab Shell to 14.39.0](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162661).\n4. Announce in `#gitlab-shell` a new version has been created.\n\n## Licensing\n\nSee the `LICENSE` file for licensing information as it pertains to files in\nthis repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitlabhq%2Fgitlab-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitlabhq%2Fgitlab-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitlabhq%2Fgitlab-shell/lists"}