Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Git. Working directory

Содержание

Базовые понятия
GitИван Домашних Базовые понятия Working directory Modification CommitCommit hashCommit messageAuthorDate History Repositoryrepository + working directorytest/.git – repository + working directorytest.git – bare repository Внесение изменений add to staging area and commitstaging area (index)repositoryworking directorygit add .git commit checkout file or reset filestaging area (index)repositoryworking directorygit checkout filenamegit reset filename revert commitgit revert git mv – переименовывает/перемещает файл*git rm – удаляет файл* Git прекрасно умеет get status of working directory# Edit hello.py git status # hello.py is log historygit log -n git log --onelinegit log --author= git diff – разница между working directory и indexgit difftool – разница git help commitgit commit --helpgit commit -hhelp Метки и ветки HEADHEAD checkout to revisionHEADgit checkout tagHEADv1.1git tag “v1.1” branchHEADmastermaster – ветка по умолчанию Развитие фичиHEADmasterCoolFeature Развитие фичиHEADmasterCoolFeature Развитие фичиHEADmasterCoolFeature Что будет при коммите? checkout branchHEADmasterCoolFeature checkout branchHEADmasterCoolFeaturegit checkout CoolFeature create and checkout branchHEADgit checkout –b CoolFeatureHEADCoolFeature HEADmastermerge HEADmasterCoolFeatureFast Forward Merge HEADmasterCoolFeatureFast Forward Merge HEADmasterCoolFeaturerebase HEADmasterCoolFeatureAchtung! Команда меняет историюrebase HEADmasterCoolFeaturecherry-pick HEADmasterCoolFeaturecherry-pickgit cherry-pick HEADmasterCoolFeaturebranch delete HEADmasterbranch deletegit branch –d “CoolFeature” > iss53:index.htmlКонфликт Reflog, gc Операции над репозиториями init clonegit clone https://repos/repo.git https://repos/repo.gitorigin = https://repos/repo.gitRemotes origin = https://repos/repo.gitfedya = https://fedya/repo.githttps://fedya/repo.githttps://repos/repo.gitRemotes masterorigin/masterorigin/f1Remote branches masterorigin/masterfetch origin/mastermasterfetch masterorigin/masterorigin/f1fetchgit fetch masterorigin/masterorigin/f1#1 Новая ветка#2 Удаленные измененияЧто делать? origin/f1…git checkout -b f1 ?#1 Новая ветка origin/f1f1git checkout -b f1 ?…#1 Новая ветка origin/f1f1…#3 Локальные измененияНачинаем править origin/f1f1…git ?#3 Локальные изменения origin/f1f1…git ?#3 Локальные изменения $ git branch -vvf1   7e424c3 [origin/f1]master 1ae2a45 [origin/master]f2 origin/f1…git checkout -b f1 origin/f1git checkout --track origin/f1git checkout -b f1#2 НОВАЯ ВЕТКАcheckout upstream origin/f1f1…git checkout -b f1 origin/f1git checkout --track origin/f1git checkout -b f1#2 НОВАЯ ВЕТКАcheckout upstream origin/mastermastergit push#3 ЛОКАЛЬНЫЕ ИЗМЕНЕНИЯpush masterorigin/mastergit pushpush#3 ЛОКАЛЬНЫЕ ИЗМЕНЕНИЯ masterorigin/master#2 Удаленные изменения…Что делать? masterorigin/master…git merge origin/master ?#2 Удаленные изменения masterorigin/master…git merge origin/master ?#2 Удаленные изменения masterorigin/mastergit pull origin =	git fetch + git merge origin/#2 УДАЛЕННО УЕХАЛОpull masterorigin/mastergit pull origin =	git fetch + git merge origin/#2 УДАЛЕННО УЕХАЛОpull masterorigin/mastergit pull origin =	git fetch + git merge origin/#2 УДАЛЕННО УЕХАЛОpull origin/masterf2#1 Нет upstreamКак начать фичу? origin/masterf2origin/f2git push ?#4 Нет upstream origin/masterf2origin/f2git push :git push origin f2:f2git push -u origin HEAD#4 НЕТ UPSTREAMpush ветки Локальноgit branch -d Удаленноgit push origin --delete git push origin :Удаление ветки Конфигурирование git config --system	%ProgramFiles%\Git\mingw64\etc\gitconfiggit config --global	%USERPROFILE%\.gitconfiggit config	/.git/configКонфигурирование .gitconfig[user]	name = username	email = username@mail.comкоманды	git config --global user.name Ivan Domashnikh	git config --global user.email domashnikh@mail.comНастройка авторства .gitconfig[core]	autocrlf = true	safecrlf = trueкоманды	git config --global core.autocrlf true	git config --global core.safecrlf .gitconfig[core]	editor = notepadбудет использоваться для ввода commit messageВыбор текстового редактора .gitconfig[merge]	tool = TortoiseMergeпозволяет решать конфликтыВыбор merge tool Разрешение конфликта в TortoiseMerge .gitconfig[alias]	co = checkout	ci = commit	st = status	br = branch	hist = log --pretty=format:\ %USERPROFILE%\.bashrcalias less='less -r'# --show-control-chars: help showing Korean or accented charactersalias ls='ls -F Если добавить C:\Program Files\Git в PATH, то git-bash будет доступен через Win+R .gitconfig[core]	excludesFileдля репозитория	/.git/info/excludeв любой папке и ее подпапках	.gitignoreИгнорирование файлов выполнить в Git Bash ssh-keygen -t rsa -C “keyname”найти открытый ключ %USERPROFILE%\.ssh\id_rsa.pubЗарегистрировать открытый ключ на сервереOpenSSH Git Extensions может использовать как PuTTY, так OpenSSHоткрыть в Git Extensions /Tools/PuTTY/Generate может требоваться доверие к удаленному репозиториюсписок доверенных	%USERPROFILE%\.ssh\known_hostsдля добавления в доверенные	выполнить в Git Напоследок Можно добавить изменения в уже сделанный коммитgit commit --amendamend Позволяет отобразить историю перемещений HEADСпасает, когда на нужный коммит не указывает ни Удаление недобавленных в git файловgit cleanclean resetsoft  переносит HEAD и веткуmixed  + переписывает Indexhard  + переписывает WD flow Классный практический курс на русскомhttps://githowto.com/ruПро remote branchesГлава в Pro GitПро resethttps://git-scm.com/blog/2011/07/11/reset.htmlОсновные фичи Githttps://git-scm.com/Git Extensionshttps://sourceforge.net/projects/gitextensions/TortoiseGithttps://tortoisegit.org/SourceTreehttps://www.sourcetreeapp.com/Кач
Слайды презентации

Слайд 2 Базовые понятия

Базовые понятия

Слайд 3 Working directory

Working directory

Слайд 4 Modification

Modification

Слайд 5 Commit

Commit hash
Commit message
Author
Date

CommitCommit hashCommit messageAuthorDate

Слайд 6 History

History

Слайд 7 Repository
repository + working directory
test/.git – repository + working

Repositoryrepository + working directorytest/.git – repository + working directorytest.git – bare repository

directory
test.git – bare repository


Слайд 8 Внесение изменений

Внесение изменений

Слайд 9 add to staging area and commit
staging area (index)
repository


working

add to staging area and commitstaging area (index)repositoryworking directorygit add .git commit

directory
git add .
git commit


Слайд 10 checkout file or reset file
staging area (index)
repository


working directory
git

checkout file or reset filestaging area (index)repositoryworking directorygit checkout filenamegit reset filename

checkout filename
git reset filename


Слайд 11 revert commit






git revert


revert commitgit revert

Слайд 12 git mv – переименовывает/перемещает файл*
git rm – удаляет

git mv – переименовывает/перемещает файл*git rm – удаляет файл* Git прекрасно

файл



* Git прекрасно умеет отслеживать изменения сам, * поэтому можно

перемещаться файлы любимым способом

move & remove


Слайд 13 get status of working directory
# Edit hello.py git status #

get status of working directory# Edit hello.py git status # hello.py

hello.py is listed under "Changes not staged for commit" git

add hello.py git status # hello.py is listed under "Changes to be committed" git commit git status # nothing to commit (working directory clean)

Слайд 14 log history
git log -n
git log --oneline
git log

log historygit log -n git log --onelinegit log --author=

--author="“

git log --graph --decorate --oneline
git log --graph --decorate --oneline --all

git log

--pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short 

Слайд 15 git diff – разница между working directory и

git diff – разница между working directory и indexgit difftool –

index
git difftool – разница с помощью заданного тула
git difftool

--gui – разница в GUI-туле

diff


Слайд 16 git help commit
git commit --help
git commit -h
help

git help commitgit commit --helpgit commit -hhelp

Слайд 17 Метки и ветки

Метки и ветки

Слайд 18 HEAD





HEAD

HEADHEAD

Слайд 19 checkout to revision




HEAD

git checkout

checkout to revisionHEADgit checkout

Слайд 20 tag




HEAD

v1.1
git tag “v1.1”

tagHEADv1.1git tag “v1.1”

Слайд 21 branch



HEAD
master
master – ветка по умолчанию

branchHEADmastermaster – ветка по умолчанию

Слайд 22 Развитие фичи



HEAD
master
CoolFeature

Развитие фичиHEADmasterCoolFeature

Слайд 23 Развитие фичи




HEAD
master
CoolFeature

Развитие фичиHEADmasterCoolFeature

Слайд 24 Развитие фичи




HEAD
master
CoolFeature

Развитие фичиHEADmasterCoolFeature

Слайд 25 Что будет при коммите?



Что будет при коммите?

Слайд 26 checkout branch




HEAD
master
CoolFeature

checkout branchHEADmasterCoolFeature

Слайд 27 checkout branch




HEAD
master
CoolFeature
git checkout CoolFeature

checkout branchHEADmasterCoolFeaturegit checkout CoolFeature

Слайд 28 create and checkout branch

HEAD
git checkout –b CoolFeature


HEAD
CoolFeature

create and checkout branchHEADgit checkout –b CoolFeatureHEADCoolFeature

Слайд 29



HEAD
master


merge

HEADmastermerge

Слайд 30

HEAD
master
CoolFeature

Fast Forward Merge

HEADmasterCoolFeatureFast Forward Merge

Слайд 31

HEAD
master
CoolFeature

Fast Forward Merge

HEADmasterCoolFeatureFast Forward Merge

Слайд 32



HEAD
master
CoolFeature

rebase

HEADmasterCoolFeaturerebase

Слайд 33



HEAD
master
CoolFeature

Achtung! Команда меняет историю
rebase

HEADmasterCoolFeatureAchtung! Команда меняет историюrebase

Слайд 34



HEAD
master
CoolFeature

cherry-pick

HEADmasterCoolFeaturecherry-pick

Слайд 35



HEAD
master
CoolFeature

cherry-pick

git cherry-pick

HEADmasterCoolFeaturecherry-pickgit cherry-pick

Слайд 36



HEAD
master
CoolFeature


branch delete

HEADmasterCoolFeaturebranch delete

Слайд 37



HEAD
master


branch delete
git branch –d “CoolFeature”

HEADmasterbranch deletegit branch –d “CoolFeature”

Слайд 38

> iss53:index.htmlКонфликт

us at support@github.com

>>>>>>> iss53:index.html

Конфликт


Слайд 39
Reflog, gc

Reflog, gc

Слайд 40 Операции над репозиториями

Операции над репозиториями

Слайд 42

clone
git clone https://repos/repo.git

clonegit clone https://repos/repo.git

Слайд 43

https://repos/repo.git
origin = https://repos/repo.git
Remotes

https://repos/repo.gitorigin = https://repos/repo.gitRemotes

Слайд 44


origin = https://repos/repo.git
fedya = https://fedya/repo.git
https://fedya/repo.git
https://repos/repo.git
Remotes

origin = https://repos/repo.gitfedya = https://fedya/repo.githttps://fedya/repo.githttps://repos/repo.gitRemotes

Слайд 45



master
origin/master

origin/f1
Remote branches

masterorigin/masterorigin/f1Remote branches

Слайд 46

master
origin/master
fetch

masterorigin/masterfetch

Слайд 47


origin/master
master
fetch

origin/mastermasterfetch

Слайд 48



master
origin/master

origin/f1

fetch
git fetch

masterorigin/masterorigin/f1fetchgit fetch

Слайд 49



master
origin/master

origin/f1

#1 Новая ветка
#2 Удаленные изменения
Что делать?

masterorigin/masterorigin/f1#1 Новая ветка#2 Удаленные измененияЧто делать?

Слайд 50


origin/f1

git checkout -b f1 ?
#1 Новая ветка

origin/f1…git checkout -b f1 ?#1 Новая ветка

Слайд 51


origin/f1
f1
git checkout -b f1 ?

#1 Новая ветка

origin/f1f1git checkout -b f1 ?…#1 Новая ветка

Слайд 52


origin/f1
f1


#3 Локальные изменения
Начинаем править

origin/f1f1…#3 Локальные измененияНачинаем править

Слайд 53


origin/f1
f1


git ?
#3 Локальные изменения

origin/f1f1…git ?#3 Локальные изменения

Слайд 54


origin/f1
f1


git ?
#3 Локальные изменения

origin/f1f1…git ?#3 Локальные изменения

Слайд 55 $ git branch -vv
f1 7e424c3 [origin/f1]
master

$ git branch -vvf1  7e424c3 [origin/f1]master 1ae2a45 [origin/master]f2  5ea463aupstream branch or tracking branchТаблица веток

1ae2a45 [origin/master]
f2 5ea463a


upstream branch or tracking branch
Таблица

веток

Слайд 56


origin/f1

git checkout -b f1 origin/f1
git checkout --track origin/f1

git

origin/f1…git checkout -b f1 origin/f1git checkout --track origin/f1git checkout -b f1#2 НОВАЯ ВЕТКАcheckout upstream

checkout -b f1
#2 НОВАЯ ВЕТКА
checkout upstream


Слайд 57


origin/f1
f1

git checkout -b f1 origin/f1
git checkout --track origin/f1

git

origin/f1f1…git checkout -b f1 origin/f1git checkout --track origin/f1git checkout -b f1#2 НОВАЯ ВЕТКАcheckout upstream

checkout -b f1
#2 НОВАЯ ВЕТКА
checkout upstream


Слайд 58


origin/master
master
git push
#3 ЛОКАЛЬНЫЕ ИЗМЕНЕНИЯ
push

origin/mastermastergit push#3 ЛОКАЛЬНЫЕ ИЗМЕНЕНИЯpush

Слайд 59


master
origin/master
git push
push
#3 ЛОКАЛЬНЫЕ ИЗМЕНЕНИЯ

masterorigin/mastergit pushpush#3 ЛОКАЛЬНЫЕ ИЗМЕНЕНИЯ

Слайд 60


master
origin/master

#2 Удаленные изменения

Что делать?

masterorigin/master#2 Удаленные изменения…Что делать?

Слайд 61


master
origin/master


git merge origin/master ?
#2 Удаленные изменения

masterorigin/master…git merge origin/master ?#2 Удаленные изменения

Слайд 62


master
origin/master


git merge origin/master ?

#2 Удаленные изменения

masterorigin/master…git merge origin/master ?#2 Удаленные изменения

Слайд 63
master
origin/master
git pull origin =
git fetch + git merge

masterorigin/mastergit pull origin =	git fetch + git merge origin/#2 УДАЛЕННО УЕХАЛОpull

origin/
#2 УДАЛЕННО УЕХАЛО
pull


Слайд 64


master
origin/master
git pull origin =
git fetch + git merge

masterorigin/mastergit pull origin =	git fetch + git merge origin/#2 УДАЛЕННО УЕХАЛОpull

origin/
#2 УДАЛЕННО УЕХАЛО
pull


Слайд 65


master
origin/master
git pull origin =
git fetch + git merge

masterorigin/mastergit pull origin =	git fetch + git merge origin/#2 УДАЛЕННО УЕХАЛОpull

origin/
#2 УДАЛЕННО УЕХАЛО
pull


Слайд 66


origin/master
f2
#1 Нет upstream
Как начать фичу?

origin/masterf2#1 Нет upstreamКак начать фичу?

Слайд 67


origin/master
f2
origin/f2
git push ?
#4 Нет upstream

origin/masterf2origin/f2git push ?#4 Нет upstream

Слайд 68


origin/master
f2
origin/f2
git push :
git push origin f2:f2
git push

origin/masterf2origin/f2git push :git push origin f2:f2git push -u origin HEAD#4 НЕТ UPSTREAMpush ветки

-u origin HEAD
#4 НЕТ UPSTREAM
push ветки


Слайд 69 Локально
git branch -d

Удаленно
git push origin --delete
git

Локальноgit branch -d Удаленноgit push origin --delete git push origin :Удаление ветки

push origin :
Удаление ветки


Слайд 70 Конфигурирование

Конфигурирование

Слайд 71 git config --system
%ProgramFiles%\Git\mingw64\etc\gitconfig

git config --global
%USERPROFILE%\.gitconfig

git config
/.git/config


Конфигурирование

git config --system	%ProgramFiles%\Git\mingw64\etc\gitconfiggit config --global	%USERPROFILE%\.gitconfiggit config	/.git/configКонфигурирование

Слайд 72 .gitconfig
[user]
name = username
email = username@mail.com

команды
git config --global user.name

.gitconfig[user]	name = username	email = username@mail.comкоманды	git config --global user.name Ivan Domashnikh	git config --global user.email domashnikh@mail.comНастройка авторства

Ivan Domashnikh
git config --global user.email domashnikh@mail.com
Настройка авторства


Слайд 73 .gitconfig
[core]
autocrlf = true
safecrlf = true

команды
git config --global core.autocrlf

.gitconfig[core]	autocrlf = true	safecrlf = trueкоманды	git config --global core.autocrlf true	git config --global

true
git config --global core.safecrlf true

autocrlf – преобразование \r\n в

\n
safecrlf – проверка обратимости преобразования \r\n в \n

Настройка для Windows


Слайд 74 .gitconfig
[core]
editor = notepad

будет использоваться для ввода commit message

Выбор

.gitconfig[core]	editor = notepadбудет использоваться для ввода commit messageВыбор текстового редактора

текстового редактора


Слайд 75 .gitconfig
[merge]
tool = TortoiseMerge

позволяет решать конфликты

Выбор merge tool

.gitconfig[merge]	tool = TortoiseMergeпозволяет решать конфликтыВыбор merge tool

Слайд 76 Разрешение конфликта в TortoiseMerge

Разрешение конфликта в TortoiseMerge

Слайд 77 .gitconfig
[alias]
co = checkout
ci = commit
st = status
br =

.gitconfig[alias]	co = checkout	ci = commit	st = status	br = branch	hist = log

branch
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph

--date=short
type = cat-file -t
dump = cat-file –p
undo = reset --hard HEAD~1
sm = submodule

Git Alias


Слайд 78 %USERPROFILE%\.bashrc
alias less='less -r'
# --show-control-chars: help showing Korean or

%USERPROFILE%\.bashrcalias less='less -r'# --show-control-chars: help showing Korean or accented charactersalias ls='ls

accented characters
alias ls='ls -F --color --show-control-chars'
alias ll='ls -l'
alias gs='git

status '
alias ga='git add '
alias gb='git branch '
alias gc='git commit'
alias gd='git diff'
alias go='git checkout '
alias gk='gitk --all&'
alias gx='gitx --all'
alias got='git '
alias get='git '

Bash Alias


Слайд 79 Если добавить C:\Program Files\Git в PATH, то git-bash будет

Если добавить C:\Program Files\Git в PATH, то git-bash будет доступен через

доступен через Win+R и адресную строку Проводника
Git Bash везде


Слайд 80 .gitconfig
[core]
excludesFile

для репозитория
/.git/info/exclude
в любой папке и ее подпапках
.gitignore

Игнорирование файлов

.gitconfig[core]	excludesFileдля репозитория	/.git/info/excludeв любой папке и ее подпапках	.gitignoreИгнорирование файлов

Слайд 81 выполнить в Git Bash ssh-keygen -t rsa -C “keyname”
найти

выполнить в Git Bash ssh-keygen -t rsa -C “keyname”найти открытый ключ %USERPROFILE%\.ssh\id_rsa.pubЗарегистрировать открытый ключ на сервереOpenSSH

открытый ключ %USERPROFILE%\.ssh\id_rsa.pub
Зарегистрировать открытый ключ на сервере
OpenSSH


Слайд 82 Git Extensions может использовать как PuTTY, так OpenSSH

открыть

Git Extensions может использовать как PuTTY, так OpenSSHоткрыть в Git Extensions

в Git Extensions /Tools/PuTTY/Generate or import key
сгенерировать ключ SSH-2

RSA, нажав Generate, а затем поводив мышкой вплоть до генерации ключа
открытый ключ появится прямо в диалоговом окне – его следует сохранить и зарегистрировать на сервере
на диск следует сохранить файл с расширением .ppk
теперь при выполнении clone/fetch/push можно нажать Load SSH key и выбрать для использования закрытый ключ *.ppk

PuTTY SSH


Слайд 83 может требоваться доверие к удаленному репозиторию

список доверенных
%USERPROFILE%\.ssh\known_hosts

для добавления

может требоваться доверие к удаленному репозиториюсписок доверенных	%USERPROFILE%\.ssh\known_hostsдля добавления в доверенные	выполнить в

в доверенные
выполнить в Git Bash
ssh
e.g. ssh github.com
для подтверждения соединения

ввести
yes

Доверенные узлы


Слайд 84 Напоследок

Напоследок

Слайд 85 Можно добавить изменения в уже сделанный коммит

git commit

Можно добавить изменения в уже сделанный коммитgit commit --amendamend

--amend

amend


Слайд 86 Позволяет отобразить историю перемещений HEAD
Спасает, когда на нужный

Позволяет отобразить историю перемещений HEADСпасает, когда на нужный коммит не указывает

коммит не указывает ни тэг, ни ветка

git reflog

247ed61 HEAD@{0}:

commit: Fix bug
b7cad06 HEAD@{1}: checkout: moving from master to cool-feature
b7cab06 HEAD@{2}: clone: from https://github.com/awesome-application

reflog


Слайд 87 Удаление недобавленных в git файлов

git clean

clean

Удаление недобавленных в git файловgit cleanclean

Слайд 88 reset
soft переносит HEAD и ветку

mixed + переписывает Index

hard

resetsoft переносит HEAD и веткуmixed + переписывает Indexhard + переписывает WD

+ переписывает WD


Слайд 90 Классный практический курс на русском
https://githowto.com/ru

Про remote branches
Глава в

Классный практический курс на русскомhttps://githowto.com/ruПро remote branchesГлава в Pro GitПро resethttps://git-scm.com/blog/2011/07/11/reset.htmlОсновные

Pro Git

Про reset
https://git-scm.com/blog/2011/07/11/reset.html

Основные фичи с картинками на английском
https://www.atlassian.com/pt/git/tutorial

Pro Git
https://git-scm.com/book/ru/v2
Чтиво


Слайд 91 Git
https://git-scm.com/

Git Extensions
https://sourceforge.net/projects/gitextensions/

TortoiseGit
https://tortoisegit.org/

SourceTree
https://www.sourcetreeapp.com/
Кач

Githttps://git-scm.com/Git Extensionshttps://sourceforge.net/projects/gitextensions/TortoiseGithttps://tortoisegit.org/SourceTreehttps://www.sourcetreeapp.com/Кач

  • Имя файла: git-working-directory.pptx
  • Количество просмотров: 169
  • Количество скачиваний: 0