Gitoxide
요약
Gitoxide는 Rust 언어로 작성된 Git의 구현체로, 정확성과 성능을 높이면서 개발자에게 예측 가능한 경험을 제공하는 것을 목표로 합니다. 사용자는 `gix` 크레인을 통해 API에 접근하거나, `ein` 이진 파일을 사용하여 명령줄 도구 및 워크플로우 향상 기능을 활용할 수 있습니다. 다양한 하위 레벨 파이프라인 크레인들이 존재하며, 이를 통해 클론, 커밋, 리베이스 등 Git의 핵심 기능들을 구현하고 테스트할 수 있습니다.
핵심 포인트
- Gitoxide는 Rust 기반으로 작성되어 높은 성능과 정확성을 제공하는 차세대 Git 애플리케이션을 지향합니다.
- `gix` 크레인은 API 접근을 위한 주요 진입점 역할을 하며, 다양한 하위 레벨 기능을 포함하고 있습니다.
- `ein` 이진 파일은 명령줄 도구 및 워크플로우 향상 기능을 제공하지만, 불안정할 수 있으므로 스크립트 의존에 주의해야 합니다.
- 클론, 커밋, 리베이스 등 Git의 핵심 기능들이 다양한 하위 레벨 크레인(예: `gix-commitgraph`, `gix-diff`)을 통해 구현 및 테스트 가능합니다.
gitoxide
는 git
의 구현체입니다.
Rust 로 작성되어, 정확성과 성능을 추구하면서도 개발자에게 즐겁고 예측 가능한 경험을 제공하는 차세대 애플리케이션 개발을 목표로 합니다.
gitoxide
를 사용하는 두 가지 주요 방법이 있습니다:
Rust 라이브러리: API 액세스를 위해 gix
크레인을 Cargo 의존성으로 사용합니다.
명령줄 도구: 실제 저장소에서 API 를 테스트하는 데 도움이 되는 개발 도구인 gix
이진 파일과 워크플로우 향상 도구를 제공하는 ein
이진 파일을 사용합니다. 두 이진 파일은 영구적으로 불안정할 수 있으므로 스크립트에서 의존하지 마세요.
명령줄 도구 및 각 크레인의 상태는 크레인 상태 문서에 설명되어 있습니다.
애플리케이션 사용 시에는 다양한 하위 레벨 파이프라인 크레인(예: gix-config
) 이 제공하는 기능의 진입점으로 역할을 하는 gix
크레인을 찾으세요.
gix
이 제가 필요한 일을 할 수 있을까요?
위의 내용은 답변하기 어려울 수 있으며, 이 단락은 기능 발견에 도움이 되도록 작성되었습니다.
구현된 기능과 계획된 기능이 모두 포함된 상당히 포괄적인 문서를 확인하려면 crate-status.md
를 참조하세요.
또한 git2
검색어를 사용한 gix
크레인 문서에서 현재 알려진 모든 git2
동등 메서드 호출을 찾을 수 있습니다. 이 목록은 확실히 완전하지는 않지만, git2
에서 온 경우 도움이 될 수 있습니다.
다음은 기능의 고수준 목록과 계획된 기능입니다:
-
clone
-
fetch
-
push
-
blame (plumbing) - status
-
blob and tree-diff
-
merge
-
blobs
-
trees
-
commits
-
commit
-
hooks
-
commit-graph traversal
-
rebase
-
worktree checkout and worktree stream
-
reset
-
reading and writing of objects
-
reading and writing of refs
-
reading and writing of
.git/index -
reading and writing of git configuration
-
pathspecs
-
revspecs
-
.gitignore및.gitattributes
연결된 크레인 이름을 따라 자세한 상태를 확인하세요. 모든 크레인이 semver 와 안정성 가이드를 따르는 점에 유의하세요.
- Stability Tier 1 - Stability Tier 2
기능이 완성되어 보이며 1.0 으로 출시되기 전에 더 많은 사용이 필요한 크레인입니다. 문서화는 완료되었으며 최소 한 번 검토되었습니다.
이러한 크레인은 일부 기능이 누락되어 다소 불완전할 수 있지만, 현재 있는 기능은 일정 정도 사용 가능합니다.
usable(거칠지만 완전한 문서와 possibly 불완전한 기능)- gix (⬅ 진입점) - gix-object
- gix-validate
- gix-url
- gix-packetline
- gix-packetline-blocking
- gix-transport
- gix-protocol
- gix-pack
- gix-odb
- gix-commitgraph
- gix-diff
- gix-traverse
- gix-features
- gix-credentials
- gix-sec
- gix-quote
- gix-discover
- gix-path
- gix-attributes
- gix-ignore
- gix-pathspec
- gix-index
- gix-revision
- gix-revwalk
- gix-command
- gix-prompt
- gix-refspec
- gix-fs
- gix-utils
- gix-hashtable
- gix-worktree
- gix-bitmap
- gix-negotiate
- gix-filter
- gix-worktree-stream
- gix-archive
- gix-submodule
- gix-status
- gix-worktree-state
- gix-date
- gix-dir
- gix-merge
- gix-shallow
- gix-erro
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Rust (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기