-
Notifications
You must be signed in to change notification settings - Fork 748
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solved #1
Open
BritishOrange
wants to merge
1
commit into
kontur-courses:master
Choose a base branch
from
BritishOrange:solved
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Solved #1
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
[merge] | ||
tool = vscode | ||
[mergetool] | ||
keepbackup = false | ||
[diff] | ||
tool = vscode | ||
guitool = vscode | ||
[core] | ||
autocrlf = input | ||
[pull] | ||
ff = only | ||
rebase = false | ||
[fetch] | ||
prune = false | ||
[rebase] | ||
autoStash = false | ||
[difftool "vscode"] | ||
path = code | ||
cmd = code --wait --diff $LOCAL $REMOTE | ||
[mergetool "vscode"] | ||
path = code | ||
cmd = code --wait $MERGED | ||
[credential] | ||
helper = manager | ||
[alias] | ||
it = !git init && git commit -m 'Initial commit' --allow-empty | ||
st = status -sb | ||
call = !git add . && git commit -m | ||
commend = commit --amend --no-edit | ||
graph = log --oneline --decorate --graph --all | ||
to = checkout | ||
pushup = push -u origin HEAD | ||
please = push --force-with-lease | ||
puff = pull --ff-only | ||
pure = pull --rebase --autostash | ||
undo = reset --soft HEAD^ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
[merge] | ||
tool = vscode | ||
[mergetool] | ||
keepbackup = false | ||
[diff] | ||
tool = vscode | ||
guitool = vscode | ||
[core] | ||
autocrlf = true | ||
[pull] | ||
ff = only | ||
rebase = false | ||
[fetch] | ||
prune = false | ||
[rebase] | ||
autoStash = false | ||
[difftool "vscode"] | ||
path = code | ||
cmd = code --wait --diff $LOCAL $REMOTE | ||
[mergetool "vscode"] | ||
path = code | ||
cmd = code --wait $MERGED | ||
[credential] | ||
helper = manager | ||
[alias] | ||
it = !git init && git commit -m 'Initial commit' --allow-empty | ||
st = status -sb | ||
call = !git add . && git commit -m | ||
commend = commit --amend --no-edit | ||
graph = log --oneline --decorate --graph --all | ||
to = checkout | ||
pushup = push -u origin HEAD | ||
please = push --force-with-lease | ||
puff = pull --ff-only | ||
pure = pull --rebase --autostash | ||
undo = reset --soft HEAD^ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Коллекция полезных .gitignore от GitHub: https://github.com/github/gitignore | ||
|
||
|
||
# Исключение из игнорирования конкретного файла: | ||
!init.md | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
git config --local include.path "../.gitconfig-for-nix" | ||
|
||
# setting editor for commits | ||
git config --local core.editor nano | ||
|
||
# setting anonymous name and email if not configured by user | ||
GitUserEmail=$(git config --get user.email) | ||
if [[ "$GitUserEmail" == "" ]]; then | ||
git config --local user.email "[email protected]" | ||
fi | ||
GitUserName=$(git config --get user.name) | ||
if [[ "$GitUserName" == "" ]]; then | ||
git config --local user.name "John Doe" | ||
fi | ||
|
||
echo "Configuration is done" | ||
sleep 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
@echo off | ||
|
||
set GIT=git | ||
|
||
%GIT% --help > nul | ||
|
||
if %errorlevel% neq 0 ( | ||
set GIT="%ProgramFiles%\Git\bin\gi.exe" | ||
) | ||
|
||
%GIT% --help > nul | ||
|
||
if %errorlevel% neq 0 ( | ||
color 0c | ||
echo. | ||
echo. | ||
echo "Git is not configured properly... Ask for help!" | ||
pause | ||
exit | ||
) | ||
|
||
REM setting editor for commits | ||
%GIT% config --local core.editor notepad | ||
|
||
REM including predefined config | ||
%GIT% config --local include.path "../.gitconfig-for-win" | ||
|
||
REM setting up absolute path to visual studio code | ||
if exist "%ProgramFiles(x86)%\Microsoft VS Code\Code.exe" ( | ||
%GIT% config --local difftool.vscode.path "%ProgramFiles(x86)%\Microsoft VS Code\Code.exe" | ||
%GIT% config --local difftool.vscode.cmd "%ProgramFiles(x86)%\Microsoft VS Code\Code.exe --wait --diff $LOCAL $REMOTE" | ||
%GIT% config --local mergetool.vscode.path "%ProgramFiles(x86)%\Microsoft VS Code\Code.exe" | ||
%GIT% config --local mergetool.vscode.cmd "%ProgramFiles(x86)%\Programs\Microsoft VS Code\Code.exe --wait $MERGED" | ||
) | ||
if exist "%ProgramFiles%\Microsoft VS Code\Code.exe" ( | ||
%GIT% config --local difftool.vscode.path "%ProgramFiles%\Microsoft VS Code\Code.exe" | ||
%GIT% config --local difftool.vscode.cmd "%ProgramFiles%\Microsoft VS Code\Code.exe --wait --diff $LOCAL $REMOTE" | ||
%GIT% config --local mergetool.vscode.path "%ProgramFiles%\Microsoft VS Code\Code.exe" | ||
%GIT% config --local mergetool.vscode.cmd "%ProgramFiles%\Programs\Microsoft VS Code\Code.exe --wait $MERGED" | ||
) | ||
if exist "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" ( | ||
%GIT% config --local difftool.vscode.path "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" | ||
%GIT% config --local difftool.vscode.cmd "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe --wait --diff $LOCAL $REMOTE" | ||
%GIT% config --local mergetool.vscode.path "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" | ||
%GIT% config --local mergetool.vscode.cmd "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe --wait $MERGED" | ||
) | ||
|
||
REM setting anonymous name and email if not configured by user | ||
for /f %%i in ('git config --get user.email') do set GitUserEmail=%%i | ||
|
||
if [%GitUserEmail%] == [] ( | ||
%GIT% config --local user.email "[email protected]" | ||
) | ||
|
||
for /f %%i in ('git config --get user.name') do set GitUserName=%%i | ||
|
||
if [%GitUserName%] == [] ( | ||
%GIT% config --local user.name "John Doe" | ||
) | ||
|
||
echo Configuration is done | ||
pause |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
## S3. Манипуляции через ссылки, нет ссылки — в мусор | ||
#### HEAD — текущая ссылка, tag — фиксированная ссылка, branch — движущаяся за HEAD ссылка | ||
#### checkout — перемещение на ветку или коммит, reset — перемещение с веткой на коммит | ||
#### Видно то, на что есть ссылки, остальное — мусор | ||
- `git tag` — вывести список тегов | ||
- `git tag <tagname>` — создать тег | ||
- `git branch` — вывести список локальных веток | ||
- `git branch -av` — вывести список локальных и удаленных веток | ||
- `git branch <branchname>` — создать ветку | ||
- `git branch -d <branchname>` — удалить ветку | ||
- `git checkout <commit>` или `git switch --detach <commit>` — переместить HEAD на коммит, причем получится detached HEAD | ||
- `git checkout <branch>`или `git switch <branch>` — переместить HEAD на ветку | ||
- `git checkout -b <new_branch>` или `git switch -c <new_branch>` — создать ветку и перейти на нее | ||
- `git reset --hard <commit>` — переместить HEAD и текущую ветку на `<commit>` | ||
- `git reflog show <ref>` — показать лог действий со ссылкой | ||
- `git reflog` = `git reflog show HEAD` — показать лог действий с HEAD | ||
- `git gc` — удалить ненужные файлы и оптимизировать локальный репозиторий |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
## S2. Хранятся состояния директории, постепенная сборка коммита | ||
#### Хранятся файлы, разница вычисляется на лету | ||
#### Commit index для сборки коммита | ||
- `git add .` — добавить все измененные файлы в индекс | ||
- `git commit -m <msg>` — записать изменения из индекса в репозиторий | ||
- `git status -sb` — вывести состояние директории и индекса кратко с указанием текущей ветки | ||
- `git restore .` или `git checkout .` — отменить изменения в директории по индексу | ||
- `git restore -S .` или `git reset .` — отменить изменения индекса по коммиту (отмена `git add .`) | ||
- `git rm <filename>` — удалить файл из индекса, чтобы перестать хранить его историю в репозитории | ||
- `git show <commit>` — показать содержимое коммита | ||
- `git log --oneline --decorate --graph` — вывести историю коммитов от HEAD в виде дерева | ||
- `git log --oneline --decorate --graph --all` — вывести историю всех коммитов в виде дерева | ||
- `gitk` — открыть графическое представление репозитория | ||
- `git clean` — удалить неотслеживаемые файлы из директории |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## R1. Доступен fetch коммитов любого репозитория в любой момент | ||
- `git remote -v` — вывести список удаленных репозиториев с их адресами | ||
- `git remote add <name> <url>` — добавить удаленный репозиторий с URL и дать ему указанное имя | ||
- `git fetch` = `git fetch origin` — получить содержимое основного удаленного репозитория | ||
- `git fetch --all` — получить содержимое всех удаленных репозиториев из списка |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
## H1. Гибкое конфигурирование и качественная документация | ||
### Гибкая настройка под любой процесс | ||
- `git config -e --system` — редактировать настройки системы | ||
- `git config -e --global` — редактировать настройки пользователя | ||
- `git config -e` — редактировать настройки репозитория | ||
- `git config --global user.name "<name>"` — задать имя пользователя | ||
- `git config --global user.email "<email>"` — задать почту пользователя | ||
|
||
### Документация ко всем командам | ||
- `git help` — список команд | ||
- `git <command> -h` — помощь по команде в терминале | ||
- `git <command> --help` — документация по команде в браузере | ||
|
||
### Алиасы для краткости команд | ||
- `git config --global alias.it "!git init && git commit -m 'Initial commit' --allow-empty"` | ||
- `git config --global alias.st "status -sb"` | ||
- `git config --global alias.call "!git add . && git commit -m"` | ||
- `git config --global alias.commend "commit --amend --no-edit"` | ||
- `git config --global alias.graph "log --oneline --decorate --graph --all"` | ||
- `git config --global alias.to "checkout"` | ||
- `git config --global alias.pushup "push -u origin HEAD"` | ||
- `git config --global alias.please "push --force-with-lease"` | ||
- `git config --global alias.puff "pull --ff-only"` | ||
- `git config --global alias.pure "pull --rebase --autostash"` | ||
- `git config --global alias.undo "reset --soft HEAD^"` | ||
|
||
### Надо игнорировать все, кроме исходников | ||
https://github.com/github/gitignore — .gitignore для разных языков |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
<html> | ||
<head> | ||
<script src="https://cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs@2/webcomponents-loader.min.js"></script> | ||
<script type="module" src="https://cdn.jsdelivr.net/gh/zerodevx/zero-md@1/src/zero-md.min.js"></script> | ||
<script> | ||
window.ZeroMd = { | ||
config: { | ||
cssUrls: [ | ||
'/styles/marked.css', | ||
'/styles/prism.css' | ||
] | ||
} | ||
}; | ||
</script> | ||
<style> | ||
|
||
h1 { | ||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; | ||
font-weight: 600; | ||
line-height: 1.25; | ||
text-align: center; | ||
margin-top: 0px; | ||
margin-bottom: 10px; | ||
} | ||
|
||
.header { | ||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; | ||
line-height: 1.25; | ||
height: 40px; | ||
text-align: center; | ||
margin-top: 0px; | ||
margin-bottom: 10px; | ||
} | ||
|
||
.header a { | ||
display: inline-block; | ||
padding-top: 15px; | ||
font-size: 14px; | ||
font-weight: 600; | ||
} | ||
|
||
.page { | ||
display: flex; | ||
justify-content: space-between; | ||
page-break-after: always; | ||
margin: 30px; | ||
} | ||
|
||
.page .leftColumn { | ||
margin: 0px 30px 0px 0px; | ||
width: 100%; | ||
} | ||
|
||
.page .rightColumn { | ||
margin: 0px 0px 0px 30px; | ||
width: 100%; | ||
} | ||
|
||
.page .block { | ||
margin: 10px; | ||
width: 100%; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<div class="page"> | ||
<div class="leftColumn"> | ||
<div class="header"><a href="https://github.com/kontur-courses/git">https://github.com/kontur-courses/git</a></div> | ||
<div class="block"><zero-md src="./help.md"/></div> | ||
</div> | ||
<div class="rightColumn"> | ||
<h1>Принципы Git</h1> | ||
<div class="block"><zero-md src="./init.md"/></div> | ||
<div class="block"><zero-md src="./commit.md"/></div> | ||
<div class="block"><zero-md src="./branch.md"/></div> | ||
</div> | ||
</div> | ||
<div class="page"> | ||
<div class="leftColumn"> | ||
<div class="block"><zero-md src="./merge.md"/></div> | ||
<div class="block"><zero-md src="./rebase.md"/></div> | ||
<div class="block"><zero-md src="./reset.md"/></div> | ||
</div> | ||
<div class="rightColumn"> | ||
<div class="block"><zero-md src="./fetch.md"/></div> | ||
<div class="block"><zero-md src="./push.md"/></div> | ||
<div class="block"><zero-md src="./upstream.md"/></div> | ||
</div> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
## S1. Все локально | ||
#### Все данные хранятся в локальных репозиториях, изменения между ними можно синхронизировать | ||
- `git init` — создать пустой репозиторий | ||
- `git clone <url>` — склонировать репозиторий в новую директорию |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
## A1. Трехсторонний merge в три шага | ||
#### Два состояния можно объединить через merge, mergetool и commit | ||
#### Участвуют три стороны: current, incoming и base | ||
- `git merge <commit>` — объединить текущую ветку с другой | ||
- `git mergetool` — разрешить имеющиеся конфликты | ||
- `git merge --abort` — отменить слияние |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
## R2. Удаленное изменение — это push | ||
- `git push <remote> <local_branch>:<remote_branch>` — добавить изменения из локальной ветки `<local_branch>` и переместить ветку `<remote_branch>` удаленного репозитория | ||
- `git push` = `git push origin HEAD` — добавить изменения из текущей локальной ветки и переместить соответствующую ветку удаленного репозитория | ||
- `git push -f` — выполнить `push`, даже если удаленная ветка уже не является предком | ||
- `git push --force-with-lease` — выполнить `push`, если является предком или удаленная ветка не сдвигалась (использовать вместо предыдущей команды) | ||
- `git push <remote> -d <branch|tag>` — удалить ветку или тег в удаленном репозитории | ||
- `git push <remote> tag <tag>` — отправить тег в удаленный репозиторий | ||
- `git push <remote> --tags` — отправить все локальные теги в удаленный репозиторий | ||
- `git push --mirror` — выполнить агрессивный `push` для всех тегов, веток и HEAD, подходит для создания удаленной копии локального репозитория |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
## A2. rebase, cherry-pick и amend, чтобы пересоздать историю | ||
#### Нельзя переписать историю — можно создать новую | ||
- `git commit --amend --no-edit` — заменить последний коммит ветки на отредактированный с дополнительными изменениями без изменения сообщения | ||
- `git rebase <upstream>` — применить все коммиты от общего родителя до текущего к `<upstream>` | ||
- `git rebase -i <upstream>` — применить заново все коммиты, указав действие с каждым коммитом | ||
- `git rebase --continue` — продолжить rebase после разрешения конфликтов | ||
- `git rebase --abort` — отменить rabase | ||
- `git cherry-pick <commit>` — применить указанный коммит к HEAD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
## A3. stash, reset, revert для управления изменениями | ||
#### Изменения можно временно припрятать | ||
#### Можно получить разницу между любыми коммитами | ||
#### Коммит можно отменить другим коммитом | ||
- `git stash` — сохранить все модифицированные файлы в виде набора изменений | ||
- `git stash pop` — восстановить последний сохраненный набор изменений и удалить его из списка | ||
- `git stash list` — показать список сохраненных наборов изменений | ||
- `git reset --hard <commit>` — переместить текущую ветку на `<commit>`, задать индекс и директорию согласно коммиту, устранив всю разницу | ||
- `git reset --mixed <commit>` — переместить текущую ветку на `<commit>`, задать индекс согласно коммиту, оставить разницу между исходным и новым состоянием в директории | ||
- `git reset --soft <commit>` — переместить текущую ветку на `<commit>`, не задавать индекс и директорию согласно коммиту, а оставить разницу между исходным и новым состоянием в индексе и директории | ||
- `git reset --hard HEAD~1` — отменить последний коммит | ||
- `git revert <commit>` — создать коммит, отменяющий изменения из коммита | ||
- `git diff <from_commit> [<to_commit>]` — вывести разницу между двумя коммитами | ||
- `git diff --name-status <from_commit> [<to_commit>]` — список измененных файлов | ||
- `git difftool <from_commit> [<to_commit>]` - вывести разницу с помощью difftool из настроек |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
start npx http-server | ||
timeout 10 | ||
start http://127.0.0.1:8080/index.html |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
useless if there is no .md ignored