mirror of
https://github.com/k88hudson/git-flight-rules.git
synced 2025-06-17 05:21:35 -03:00
Fixed typos for internal and external links (#357)
* Update anchor link to `push.default` documentation * Update anchor link to `rebase --merge` documentation * Fix link typos
This commit is contained in:
49
README_ru.md
49
README_ru.md
@ -276,6 +276,7 @@ $ git log -n1 -p
|
||||
$ git show <commitid>:filename
|
||||
```
|
||||
|
||||
<a name="wrong-thing-in-commit-message"></a>
|
||||
### Я неправильно написал сообщение коммита
|
||||
|
||||
Если Вы неправильно сохранили коммит, но еще не сделали `push`, то для исправления сообщения коммита сделайте следующее:
|
||||
@ -358,7 +359,7 @@ $ git push --force-with-lease [remote] [branch]
|
||||
|
||||
Или сделайте [интерактивное перебазирование](#interactive-rebase) и удалите строки ненужных коммитов.
|
||||
|
||||
<a name="#force-push"></a>
|
||||
<a name="force-push"></a>
|
||||
### Я пытаюсь опубликовать исправленный коммит, но получаю сообщение об ошибке
|
||||
|
||||
```sh
|
||||
@ -381,7 +382,7 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
|
||||
Если Вы *абсолютно* уверены, что никто кроме Вас не работает с данной веткой или Вы хотите обновить вершину ветви в любом случае, то используйте `--force` (`-f`), но вообще этого следует избегать.
|
||||
|
||||
<a href="undo-git-reset-hard"></a>
|
||||
<a name="undo-git-reset-hard"></a>
|
||||
### Я случайно сделал жесткий сброс (--hard) и теперь хочу вернуть свои изменения
|
||||
|
||||
Если Вы случайно сделали `git reset --hard`, то вы можете вернуть назад коммиты, т.к. Git несколько дней хранит все действия в журнале.
|
||||
@ -400,7 +401,7 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
|
||||
И Вы сможете продолжить работу.
|
||||
|
||||
<a href="undo-a-commit-merge"></a>
|
||||
<a name="undo-a-commit-merge"></a>
|
||||
### Я случайно опубликовал ненужное слияние
|
||||
|
||||
Если Вы случайно сделали слияние в основную ветку разработки до того, как были сделаны все необходимые изменения, Вы по-прежнему можете отменить слияние. Но есть одна загвоздка: Коммит слияния имеет более одного родителя (обычно два).
|
||||
@ -413,7 +414,7 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
|
||||
Заметка: номер родителя - это не идентификатор коммита. Допустим, коммит слияния имеет строчку `Merge: 8e2ce2d 86ac2e7`. Номер родителя - это порядковый номер (отсчет с 1) нужного родителя в этой строчке, первый идентификатор - номер 1, второй - номер 2 и т.д.
|
||||
|
||||
<a href="undo-sensitive-commit-push"></a>
|
||||
<a name="undo-sensitive-commit-push"></a>
|
||||
### Я случайно закоммитил и опубликовал файлы с конфиденциальными данными
|
||||
|
||||
Если Вы случайно опубликовали файлы, содержащие конфиденциальные данные (пароли, ключи и пр.), Вы можете изменить последний коммит с помощью amend. Помните, что как только Вы опубликовали коммит, то Вы должны считать всё его содержание скомпрометированным. С помощью дальнейших шагов можно удалить конфиденциальную информацию из публичного репозиторий или из Вашей локальной копии, вы **не сможете** удалить свою конфиденциальную информацию у людей, которые могли успеть скопировать себе её. Если Вы закоммитили пароль, то **незамедлительно поменяйте его**. Если Вы закоммитили ключ, то **незамедлительно сгенерируйте новый**. Изменения опубликованного коммита недостаточно, потому что кто-нибудь мог скопировать исходный коммит до того, как Вы успели его исправить.
|
||||
@ -444,10 +445,10 @@ echo sensitive_file >> .gitignore
|
||||
|
||||
Если Вы успели сделать другие коммиты после коммита с конфиденциальными данными, то Вам нужно использовать rebase.
|
||||
|
||||
<a href="#i-want-to-remove-a-large-file-from-ever-existing-in-repo-history"></a>
|
||||
<a name="remove-large-file-in-repo-history"></a>
|
||||
### Я хочу удалить большой файл из истории репозитория
|
||||
|
||||
Если вы хотите удалить пароль или другую конфиденциальную информацию, то вместо этого смотрите [Я случайно закоммитил и опубликовал файлы с конфиденциальными данными](#%D0%AF-%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%BE-%D0%B7%D0%B0%D0%BA%D0%BE%D0%BC%D0%BC%D0%B8%D1%82%D0%B8%D0%BB-%D0%B8-%D0%BE%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D0%BB-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-%D1%81-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B4%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8).
|
||||
Если вы хотите удалить пароль или другую конфиденциальную информацию, то вместо этого смотрите [Я случайно закоммитил и опубликовал файлы с конфиденциальными данными](#undo-sensitive-commit-push).
|
||||
|
||||
Даже если вы удалите большие или ненужные файлы из последнего коммита, они останутся в истоии Git, в подкаталоге `.git` вашего репозитория и `git clone` будет загружать ненужные файлы.
|
||||
|
||||
@ -515,7 +516,7 @@ echo sensitive_file >> .gitignore
|
||||
```
|
||||
После того как только команда push сработала в первый раз, постепенно уменьшайте `<number>`, пока не сработает обычная `git push`.
|
||||
|
||||
<a href="i-need-to-change-the-content-of-a-commit-which-is-not-my-last"></a>
|
||||
<a name="change-content-of-commit-not-my-last"></a>
|
||||
### Мне нужно изменить содержимое коммита, который не является последним
|
||||
|
||||
Пусть Вы сделали несколько (например, три) коммитов и после этого поняли, что упустили что-то, что по смыслу относится к первому из этих трёх коммитов. Вы могли бы сделать новый коммит, содержащий эти изменения, и тогда у Вас была бы чистая кодовая база, но Ваши коммиты не были бы атомарными (т.е. связанные изменения не содержались бы в едином коммите). В такой ситуации Вы бы хотели изменить коммит, к которому относятся эти изменения, а следующие коммиты оставить как есть. В таком случае Вас может спасти `git rebase`.
|
||||
@ -558,7 +559,7 @@ pick f4037ec The last commit
|
||||
|
||||
## Подготовка изменений (staging)
|
||||
|
||||
<a href="#i-need-to-add-staged-changes-to-the-previous-commit"></a>
|
||||
<a name="add-staged-changes-to-previous-commit"></a>
|
||||
### Мне нужно добавить подготовленные изменения в предыдущий коммит
|
||||
|
||||
```sh
|
||||
@ -590,17 +591,17 @@ $ git add -N filename.x
|
||||
Затем используйте опцию `e` для ручного выбора строк. Запустив `git diff --cached` или
|
||||
`git diff --staged`, Вы увидите какие строки вы подготовили по-сравнению с тем, что сохранено в рабочей копии.
|
||||
|
||||
<a href="stage-in-two-commits"></a>
|
||||
<a name="stage-in-two-commits"></a>
|
||||
### Я хочу добавить изменения одного файла в два разных коммита
|
||||
|
||||
`git add` добавляет в коммит весь файл целиком. `git add -p` позволяет интерактивно выбрать изменения, которые Вы хотите добавить.
|
||||
|
||||
<a href="selective-unstage-edits"></a>
|
||||
<a name="selective-unstage-edits"></a>
|
||||
### Я подготовил слишком много правок и теперь хочу разделить их на несколько отдельных коммитов
|
||||
|
||||
`git reset -p` откроет интерактивный диалог сброса. Это похоже на `git add -p`, за исключением того, что выбор "yes" уберёт правку из готовящегося коммита.
|
||||
|
||||
<a href="unstaging-edits-and-staging-the-unstaged"></a>
|
||||
<a name="unstaging-edits-and-staging-the-unstaged"></a>
|
||||
### Я хочу подготовить свои неподготовленные правки и убрать из подготовки то, что уже подготовлено
|
||||
|
||||
Это сложно. Лучшее, что я смог придумать это отложить (stash) неподготовленные изменения. Затем сделать сброс. После этого вернуть отложенные изменения и добавить их.
|
||||
@ -614,14 +615,14 @@ $ git add -A
|
||||
|
||||
## Неподготовленные правки
|
||||
|
||||
<a href="move-unstaged-edits-to-new-branch"></a>
|
||||
<a name="move-unstaged-edits-to-new-branch"></a>
|
||||
### Я хочу переместить мои неподготовленные правки в новую ветку
|
||||
|
||||
```sh
|
||||
$ git checkout -b my-branch
|
||||
```
|
||||
|
||||
<a href="move-unstaged-edits-to-old-branch"></a>
|
||||
<a name="move-unstaged-edits-to-old-branch"></a>
|
||||
### Я хочу переместить неподготовленные правки в другую существующую ветку
|
||||
|
||||
```sh
|
||||
@ -630,7 +631,7 @@ $ git checkout my-branch
|
||||
$ git stash pop
|
||||
```
|
||||
|
||||
<a href="i-want-to-discard-my-local-uncommitted-changes"></a>
|
||||
<a name="discard-local-uncommitted-changes"></a>
|
||||
### Я хочу отменить мои локальные несохраненные изменения (подготовленные и неподготовленные)
|
||||
|
||||
Если Вы хотите отменить все подготовленные и неподготовленные изменения, то можете сделать так:
|
||||
@ -722,7 +723,7 @@ $ git checkout myFirstFile mySecondFile
|
||||
```sh
|
||||
$ git checkout .
|
||||
```
|
||||
<a href="i-want-to-discard-all-my-untracked-files"></a>
|
||||
<a name="discard-all-untracked-files"></a>
|
||||
### Я хочу удалить все неотслеживаемые файлы
|
||||
|
||||
Когда Вы хотите удалить все неотслеживаемые файлы
|
||||
@ -731,7 +732,7 @@ $ git checkout .
|
||||
$ git clean -f
|
||||
```
|
||||
|
||||
<a href="I-want-to-unstage-specific-staged-file"></a>
|
||||
<a name="unstage-specific-staged-file"></a>
|
||||
### Я хочу убрать заданный файл из подготовленного
|
||||
|
||||
Иногда один или несколько неотслеживаемых файлов ненароком оказываются в подготовленном. Чтобы убрать их из подготовленного:
|
||||
@ -789,7 +790,7 @@ $ git reset --hard c5bc55a
|
||||
|
||||
Готово.
|
||||
|
||||
<a href="discard-local-commits"></a>
|
||||
<a name="discard-local-commits"></a>
|
||||
### Я хочу отменить локальные коммиты, чтобы моя ветка стала такой же как на сервере
|
||||
|
||||
Подтвердите, что не хотите отправлять изменения на сервер.
|
||||
@ -1074,7 +1075,7 @@ README.md foo.txt
|
||||
(main)$ git branch -m old-name new-name
|
||||
```
|
||||
|
||||
<a name="i-want-to-checkout-to-a-remote-branch-that-someone-else-is-working-on"></a>
|
||||
<a name="working-on-checkout-remote-branch"></a>
|
||||
### Я хочу перейти на удаленную ветку, над которой работает кто-то еще
|
||||
|
||||
Во-первых, получим все ветки из удаленного репозитория:
|
||||
@ -1131,7 +1132,7 @@ $ git branch -u [remotename]/[branch]
|
||||
$ git branch -u [remotename]/[branch] [local-branch]
|
||||
```
|
||||
|
||||
<a name="i-want-to-set-my-HEAD-to-track-the-default-remote-branch"></a>
|
||||
<a name="head-to-track-remote-branch"></a>
|
||||
### Я хочу настроить HEAD на отслеживание основной удаленной ветки
|
||||
|
||||
При просмотре удаленных веток можно увидеть какую удаленную ветку отслеживает HEAD. Может оказаться, что это не та ветка что нужно.
|
||||
@ -1386,7 +1387,7 @@ Changes not staged for commit:
|
||||
```
|
||||
|
||||
- Во время *слияния* используйте `--ours` для сохранения изменений из локальной ветки или `--theirs` для сохранения изменений из другой ветки.
|
||||
- Во время *перебазирования* используйте `--theirs` для сохранения изменений из локальной ветки или `--ours` для сохранения изменений из другой ветки. Для объяснения такого обмена см. [эту заметку в документации Git](https://git-scm.com/docs/git-rebase#git-rebase---merge).
|
||||
- Во время *перебазирования* используйте `--theirs` для сохранения изменений из локальной ветки или `--ours` для сохранения изменений из другой ветки. Для объяснения такого обмена см. [эту заметку в документации Git](https://git-scm.com/docs/git-rebase#Documentation/git-rebase.txt---merge).
|
||||
|
||||
Если слияние более сложное, можете воспользоваться визуальным редактором различий:
|
||||
|
||||
@ -1482,7 +1483,7 @@ $ git log -S "string to find"
|
||||
|
||||
- `--reverse` выводит коммиты в обратном порядке, это значит, что вверху будет первый коммит, в котором сделано это изменение.
|
||||
|
||||
<a name="i-want-to-find-by-author-committer"></a>
|
||||
<a name="find-by-committer"></a>
|
||||
### Я хочу искать по автору или сохранившему изменения (committer)
|
||||
|
||||
Найти все коммиты по автору или сохранившему изменения:
|
||||
@ -1514,7 +1515,7 @@ $ git log -- **/*.js
|
||||
$ git log --name-status -- **/*.js
|
||||
```
|
||||
|
||||
<a name="#i-want-to-view-the-commit-history-for-a-specific-function"></a>
|
||||
<a name="view-commit-history-for-specific-function"></a>
|
||||
### Я хочу посмотреть историю коммитов для отдельной функции
|
||||
|
||||
Для отслеживания эволюции отдельной функции Вы можете использовать:
|
||||
@ -1639,7 +1640,7 @@ $ git push origin refs/tags/<tag-name>
|
||||
|
||||
## Отслеживание файлов
|
||||
|
||||
<a href="i-want-to-change-a-file-names-capitalization-without-changing-the-contents-of-the-file"></a>
|
||||
<a name="change-file-name-capitalization-without-changing-contents"></a>
|
||||
### Я хочу изменить регистр в имени файла, не меняя содержимое файла
|
||||
|
||||
```sh
|
||||
@ -1653,7 +1654,7 @@ $ git push origin refs/tags/<tag-name>
|
||||
(main)$ git reset --hard origin/main
|
||||
```
|
||||
|
||||
<a href="remove-from-git"></a>
|
||||
<a name="remove-from-git"></a>
|
||||
### Я хочу удалить файл из git, но оставить сам файл
|
||||
|
||||
```sh
|
||||
|
Reference in New Issue
Block a user