Git

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ инструкция ΠΏΠΎ созданию git-рСпозитория ΠΈ Π·Π°Π»ΠΈΠ²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

git init
git add -A
git commit -am "Create project"

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Π½Π°ΠΌ доступны:

git remote -v

Π—Π°ΠΏΠΈΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π°: [локальноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅] [url] Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: testrepo https://... (push)

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ рСпозитория:

git remote rm <branch>

Если Π½Π΅Ρ‚ записСй, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΅Π΅ сами Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ:

git remote add testrepo https://...

Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ наши измСнСния Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

git push -u testrepo main

Настройка локального рСпозитория

Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ β€” с Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ):

ΠŸΡ€ΠΎ Π²Π΅Ρ‚ΠΊΠΈ

БСйчас Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ Π½Π΅ master Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠΌΠ΅Ρ‚ΡŒ, Π° main, trunk ΠΈ development. Π—Π°Ρ‡Π΅ΠΌ каТдая ΠΈΠ· Π½ΠΈΡ…?

.gitignore

Π‘ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ сообщСством ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… языков ΠΈ систСм: https://github.com/github/gitignore/

Π’Π°ΠΊ ΠΆΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gitignore ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ (bin, configs, ...) Достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ Ρ„Π°ΠΉΠ» .gitignore со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого ΠΆΠ΅ эффСкта β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ любой пустой Ρ„Π°ΠΉΠ». НСгласно стали Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ .gitkeep.

Бинтаксис Ρƒ Gitignore

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΎΠΊ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ нюанс с .gitignore. Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π² кэшС?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сухой ΠΏΡ€ΠΎΠ³ΠΎΠ½ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ:

Π—Π°Ρ‚Π΅ΠΌ для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ удалСния:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· рСпозитория Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

Или, Ссли Ρƒ вас ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²:

ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡΡ

git status

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚:

  • ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с послСдним ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

  • ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ ΠΈ проиндСксированным Ρ„Π°ΠΉΠ»ΠΎΠΌ

  • ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ git (ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

git stash

About: https://git-scm.com/book/ru/v1/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D1%80%D1%8F%D1%82%D0%B0%D0%BD%D1%8C%D0%B5

git diff

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ/Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ/...

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: отслСТиваниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с послСднСм ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ отслСТиваниС нСпроиндСксированных Ρ„Π°ΠΉΠ»ΠΎΠ²)

git blame

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° - ΡƒΠ²ΠΈΠ΄ΠΈΠΌ: ΠΊΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° строчки Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

hunk - ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ Ρ‡Π°ΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ => ΠΎΠ΄Π½ΠΎΠΌΡƒ Π΄ΠΈΡ„Ρ„Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ² соотв нСсколько hunk'ΠΎΠ²

ΠŸΡ€ΠΎ вСрсии ΠΈ состояния Π² Π³ΠΈΡ‚Π΅ (ΠΎΡ‡Π΅Π½ΡŒ понятно)

Submodules

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для подтягивания зависимостСй сторонних Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с двумя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

НапримСр, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ git@github.com:nEST-Projects/burp-extension-jy-dependency-example.git.

ПослС Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: git submodule update --init (Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ .gitsubmodule Ρ„Π°ΠΉΠ»; dependecies ΠΊΠ°ΠΊ дирСктория Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ проиндСксирована) Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ dependecies/pydep затянСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

git archive для submodules

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

SSL certificate problem: self signed certificate in certificate chain Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΡƒΡˆΠΈΠΌ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ Ρ‚ΠΊ сСрт самоподписанный, Ρ‚ΠΎ git Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ РСшСниС:

Git GUI

SourceTree β€” https://www.sourcetreeapp.com/

Github Desktop.

Last updated