Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.56.0 no changes
-
2.55.0
2026-06-29
- 2.53.0 → 2.54.0 no changes
-
2.52.0
2025-11-17
- 2.47.1 → 2.51.2 no changes
-
2.47.0
2024-10-06
- 2.44.1 → 2.46.4 no changes
-
2.44.0
2024-02-23
- 2.35.1 → 2.43.7 no changes
-
2.35.0
2022-01-24
- 2.34.1 → 2.34.8 no changes
- 2.34.0 no changes
- 2.32.1 → 2.33.8 no changes
-
2.32.0
2021-06-06
- 2.30.1 → 2.31.8 no changes
-
2.30.0
2020-12-27
- 2.25.1 → 2.29.3 no changes
-
2.25.0
2020-01-13
- 2.24.1 → 2.24.4 no changes
-
2.24.0
2019-11-04
- 2.22.1 → 2.23.4 no changes
-
2.22.0
2019-06-07
- 2.19.1 → 2.21.4 no changes
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 no changes
-
2.18.0
2018-06-21
- 2.16.6 → 2.17.6 no changes
-
2.15.4
2019-12-06
-
2.14.6
2019-12-06
- 2.12.5 → 2.13.7 no changes
-
2.11.4
2017-09-22
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
- 2.6.7 → 2.7.6 no changes
-
2.5.6
2017-05-05
-
2.4.12
2017-05-05
- 2.3.10 no changes
-
2.2.3
2015-09-04
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
ОПИС
git svn — це простий канал для наборів змін між Subversion та Git. Він забезпечує двонаправлений потік змін між Subversion та репозиторієм Git.
git svn може відстежувати стандартний репозиторій Subversion, дотримуючись загальної структури «trunk/branches/tags», за допомогою опції --stdlayout. Він також може відстежувати гілки та теги в будь-якій структурі за допомогою опцій -T/-t/-b (див. опції для init нижче, а також команду clone).
Після відстеження репозиторію Subversion (за допомогою будь-якого з перерахованих вище методів), репозиторій Git можна оновити з Subversion командою fetch, а Subversion — з Git командою dcommit.
КОМАНДИ
- init
-
Ініціалізує порожній репозиторій Git з додатковими теками метаданих для git svn. URL-адресу Subversion можна вказати як аргумент командного рядка або як повні аргументи URL-адреси для -T/-t/-b. За потреби, цільову теку для роботи можна вказати як другий аргумент. Зазвичай ця команда ініціалізує поточну теку.
- -T<trunk-subdir>
- --trunk=<trunk-subdir>
- -t<tags-subdir>
- --tags=<tags-subdir>
- -b<branches-subdir>
- --branches=<branches-subdir>
- -s
- --stdlayout
-
Це необовʼязкові параметри командного рядка для init. Кожен із цих прапорців може вказувати на відносний шлях до репозиторію (--tags=project/tags) або повну URL-адресу (--tags=https://foo.org/project/tags). Ви можете вказати більше одного параметра --tags та/або --branches, якщо ваш репозиторій Subversion розміщує теги або гілки за кількома шляхами. Параметр --stdlayout — це скорочений спосіб встановлення trunk,tags,branches як відносних шляхів, що є стандартним значенням Subversion. Якщо також вказано будь-які інші параметри, вони мають пріоритет.
- --no-metadata
-
Встановлює параметр noMetadata у конфігурації [svn-remote]. Цей параметр не рекомендується використовувати; перед його застосуванням, будь ласка, ознайомтеся з розділом svn.noMetadata цієї сторінки довідки.
- --use-svm-props
-
Встановити опцію useSvmProps у конфігурації [svn-remote].
- --use-svnsync-props
-
Встановити опцію useSvnsyncProps у конфігурації [svn-remote].
- --rewrite-root=<URL>
-
Встановити опцію rewriteRoot у конфігурації [svn-remote].
- --rewrite-uuid=<UUID>
-
Встановити опцію rewriteUUID у конфігурації [svn-remote].
- --username=<user>
-
Для транспортів, для яких SVN обробляє автентифікацію (http, https та звичайний svn), вкажіть імʼя користувача. Для інших транспортів (наприклад,
svn+ssh://) необхідно включити імʼя користувача до URL-адреси, наприклад,svn+ssh://foo@svn.bar.com/project - --prefix=<prefix>
-
Дозволяє вказати префікс, який додається до імен віддалених репозиторіїв, якщо вказано trunk/branches/tags. Префікс автоматично не містить кінцевого слеша, тому переконайтеся, що ви додали його в аргумент, якщо це необхідно. Якщо вказано --branches/-b, префікс повинен містити кінцеву косу риску. У будь-якому випадку наполегливо рекомендується встановити префікс (з кінцевою скісною рискою), оскільки ваші посилання для відстеження SVN будуть розташовані в «refs/remotes/$prefix/», що сумісно з власною структурою посилань для відстеження віддалених репозиторіїв у Git (refs/remotes/$remote/). Встановлення префікса також корисно, якщо ви хочете відстежувати кілька проєктів, які використовують спільне сховище. Стандартно префікс встановлено як origin/.
NoteДо версії Git версії 2.0 стандартним префіксом був "" (без префікса). Це означало, що посилання для SVN-відстеження розміщувалися в "refs/remotes/*", що несумісно з тим, як організовані власні посилання для віддаленого відстеження Git. Якщо ви все ще хочете використовувати старе стандартне значення, ви можете отримати його, передавши --prefix""у командному рядку (--prefix=""може не працювати, якщо ваш Getopt::Long Perl < версії 2.37). - --ignore-refs=<regex>
-
При передачі до init або