Π Π°Π·Π½ΠΎΠ΅

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с bitbucket: Знакомство с интСрфСйсом Bitbucket | Atlassian

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Git ΠΈ Bitbucket Π·Π° 20 ΠΌΠΈΠ½ΡƒΡ‚



Git — распрСдСлСнная систСма контроля вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ², созданная ΠΏΠΎΠ΄ руководством Линуса Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ°. БистСмы контроля вСрсий ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько вСрсий ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊ старому Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ, просмотра ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚.Π΄.

РаспрСдСлСнная систСма контроля вСрсий Π½Π΅ нуТдаСтся Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС, хранящСм вСрсии, вся история хранится Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ ΠΏΡ€ΠΈ нСобходимости синхронизируСтся с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ этом ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Git ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SVN — ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС вСрсии Ρƒ сСбя, Π½Π΅ дублируя Π½Π° сСрвСр. Однако Π² случаС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ всС ΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ сСрвСр, хранящий вСрсии. Π’Π°ΠΊΠΎΠΉ сСрвСр Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ бэкап всСх Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ… вСрсий, доступный ΠΈΠ· любой Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΈΡ€Π°.

ΠŸΡ€ΠΎ Git Π΅ΡΡ‚ΡŒ отличная бСсплатная ΠΊΠ½ΠΈΠ³Π° с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌΒ Pro Git, Ρ‚Π°ΠΊΠΆΠ΅ спасибо соотСчСствСнникам Π·Π° бСскорыстный пСрСвод — Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ.

Π—Π΄Π΅ΡΡŒ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ быстро Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Git ΠΈ Bitbucket. Bitbucket — это сСрвис, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ хранящий Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git, бСсплатный для 5 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Bitbucket ΠΏΠ΅Ρ€Π΅Π΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ сСрвисом GitHub — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² (Π½Π΅ open source).

Установка, настройка

Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ стоит ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сам Git для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (Windows, Linux, Solaris, Mac OS). Π’Ρ‚ΠΎΡ€ΠΎΠ΅ — Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° BitbucketΒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ исходныС ΠΊΠΎΠ΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ прилоТСния ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git для контроля вСрсий ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡ… хранСния Π½Π° сСрвСрС Bitbucket.

ΠŸΡ€ΠΎΠΉΠ΄Ρ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π° Bitbucket, создаСм Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, для Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΒ Repositories > Create repository. Π’Π²ΠΎΠ΄ΠΈΠΌ имя создаваСмого рСпозитория, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΈΠΏ (Git), ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ доступа (Access level) Π² private — Π½Π΅ open source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ основной язык программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π—Π°Π²Π΅Ρ€ΡˆΠΈΠ² созданиС рСпозитория, Bitbucket ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ страницу Β«Add some codeΒ», Π³Π΄Π΅ ΠΌΡ‹ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Β«I have an existing project to push upΒ» для добавлСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, послС Ρ‡Π΅Π³ΠΎ систСма ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ синхронизации локального рСпозитория с Bitbucket — Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ создали Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Bibucket, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ впослСдствии ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Bitbucket. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git, поэтому Π² случаС Windows Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния PATH ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ Git (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это C:\Program Files (x86)\Git\bin), Π² случаС Linux ΠΈ Mac OS систСма ΡƒΠΆΠ΅ сдСлала это Π·Π° вас ΠΏΡ€ΠΈ установкС.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ этапС Ρƒ нас установлСн Git ΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PATH ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ прописан ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ Git — Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»/ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку нашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, для Git ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ GUI Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π½ΠΎ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Π±ΡƒΠ΄Ρƒ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классичСских Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов).

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ настроим наш Git — Π·Π°Π΄Π°Π΄ΠΈΠΌ своё имя ΠΈ email (эта информация Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ для отслСТивания Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ):

git config --global user.name "Alexey Goloburdin"
git config --global user.email [email protected]
git config --global core.pager 'less -r'

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ созданию ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ локального Git рСпозитория.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ — Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с исходными ΠΊΠΎΠ΄Π°ΠΌΠΈ нашСго прилоТСния — ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

git init

ДобавляСм всС Ρ„Π°ΠΉΠ»Ρ‹ Π² созданный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

git add *

И Π΄Π΅Π»Π°Π΅ΠΌ commit — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сохранСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии рСпозитория:

git commit -m 'пСрвая вСрсия рСпозитория'

ПослС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° -m вводится ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ — Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ являСтся описаниС всСх ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Π—Π° Тизнь

Π‘Π°ΠΌΠΎΠ΅ врСмя Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ — СдинствСнной ΠΈ достаточной для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git. ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ создали Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ фактичСски Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git, Π»ΠΈΠ±ΠΎ Π±Ρ‹Ρ‚ΡŒ нСотслСТиваСмыми, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’ нашСм случаС всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add *, ΠΏΡ€ΠΈ этом Ссли Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ html, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ внСсти ΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add *.html.

ВсС отслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Ρ€Π΅Ρ… состояниях — Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΌΡ‹ этот Ρ„Π°ΠΉΠ» Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Π»ΠΈ), ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ (с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΌΡ‹ внСсли измСнСния, Π½ΠΎ Git ΠΎΠ± этом Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚) ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ (это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ рассказали Git). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²ΠΎΡ‚ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ„Π°ΠΉΠ»Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ:

1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ — Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ статус Β«Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉΒ»
2. Π€Π°ΠΉΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Π½ΠΎ ΠΌΡ‹ Π½Π΅ сообщили ΠΎΠ± этом Git — Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ статус Β«ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉΒ»
3. ΠœΡ‹ сообщаСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Git ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° — Ρ„Π°ΠΉΠ» ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ статус Β«ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚ΡƒΒ»
4. ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ» снова ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ статус Β«Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ³ΠΎΒ». Π—Π°Ρ‚Π΅ΠΌ Ρ†ΠΈΠΊΠ» повторяСтся.

ΠŸΡ€ΠΈ этом Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС эти дСйствия сСйчас происходят локально Π½Π° нашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, хранящСм всС вСрсии рСпозитория, ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ сСрвСром Bitbucket.

Π Π°Π±ΠΎΡ‚Π° с Git

Π˜Ρ‚Π°ΠΊ, Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ чистый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΎΠ΄Π½ΠΎΠΉ вСрсиСй. ВнСсСм измСнСния Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ» рСпозитория ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ Ρ„Π°ΠΉΠ» ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ:

git add FILENAME

Команда git add Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ добавляСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, Π½ΠΎ ΠΈ отслСТиваСт измСнСния Π² ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°Ρ…. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

git commit -m 'вторая вСрсия, ΠΌΡ‹ внСсли ΠΎΡ„ΠΈΠ³Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚'

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, совсСм Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»ΠΈ измСнСния с послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈΡ… Π²Β git addΒ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ). Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «git add *"Β ΠΈ Π·Π°Ρ‚Π΅ΠΌ «git commit", Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΡ€ΠΎΡ‡Π΅: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сразу ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git commit -a". Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Git ΠΏΠ΅Ρ€Π΅Π±Π΅Ρ€Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ всС отслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹, Π½ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (созданныС послС послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚.

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· рСпозитория, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ пСрСвСсти Π΅Π³ΠΎ ΠΈΠ· отслСТиваСмого Π² нСотслСТиваСмый, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

git rm FILENAME

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π±Π΅Π· указания Git Π½Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠΌ Git Π½Π°ΠΉΡ‚ΠΈ этот Ρ„Π°ΠΉΠ», Π΅Π³ΠΎ статус Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Β«ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½, Π½ΠΎ Π½Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Β». ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΡΡΡŒ ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈΡ… ΠΈΠ· Git рСпозитория ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ — вмСсто этого ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git add -u

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ статус ΠΏΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

git status

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

git log

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² любом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ нСобходимости (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ кэша) — ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² список ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, находящийся ΠΏΠΎ адрСсу Β /. git/info/exclude.

Бинхронизация с Bitbucket

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, вся тСкущая Ρ€Π°Π±ΠΎΡ‚Π° с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ происходила Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру Bitbucket — ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ! Для этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сообщил Π½Π°ΠΌ Bitbucket послС создания ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория:

git remote add origin https://[email protected]/livedev/repositoryName.git
git push -u origin --all

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, вторая Π·Π°Π»ΡŒΠ΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ наш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. БистСма спросит ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Bitbucket, послС Ρ‡Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° сСрвСр — Π² успСхС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Π²Π΅Π±-интСрфСйсС Bitbucket.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ — ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ сСрвСром Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ — всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ всС Ρ€Π°Π²Π½ΠΎ Π·Π°Π»ΡŒΡŽΡ‚ΡΡ Π½Π° сСрвСр ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git push.

Если ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π½Π° сСрвСр Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ нас, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° сСрвСрС, для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull:

git pull origin master

Master здСсь — это Π²Π΅Ρ‚ΠΊΠ° рСпозитория, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ, ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько, Π° origin — Π½Π°Π·Π²Π°Π½ΠΈΠ΅ соСдинСния c Bitbucket.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Π·Π°Π»ΠΈΠ²ΠΊΠΈ рСпозитория Π½Π° сСрвСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°

git push origin master

Π° для обновлСния локального рСпозитория с сСрвСра ΠΊΠΎΠΌΠ°Π½Π΄Π°

git pull origin master

ΠšΡ€ΡƒΡ‚Ρ‹Ρ… production вСрсий Π²Π°ΠΌ!

6 сСкрСтов Bitbucket / Π₯Π°Π±Ρ€

Один ΠΈΠ· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π² Atlassian β€” Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Π’ Ρ…ΠΎΠ΄Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ UX Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпопулярныС дСйствия, расчитанныС Π½Π° ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π±Ρ‹Π»ΠΈ спрятаны Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списках ΠΈΠ»ΠΈ Π·Π° горячими клавишами. Π’Π°ΠΌ ΠΎΠ½ΠΈ ΠΆΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠΈΠΌΡ‡ΠΈΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ случайно наткнётся Π½Π° Π½ΠΈΡ… благодаря случайному Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ клавиш ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠΊΡƒ ΠΌΡ‹ΡˆΠΊΠΈ (Π½Ρƒ, ΠΈΠ»ΠΈ заглянСт Π² руководство). Π’ΠΎΡ‚ ΡˆΠ΅ΡΡ‚ΡŒ ΠΌΠΎΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… Ρ‚Ρ€ΡŽΠΊΠΎΠ² Bitbucket Cloud, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ:

ΠžΠΌΠ½ΠΈΠ±Π°Ρ€ Π² Bitbucket β€” это строка быстрого доступа ΠΊ дСйствиям, похоТая Π½Π° ⇧⇧ Π² срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JetBrains ΠΈΠ»ΠΈ ⌘+P Π² Sublime Text. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΌΠ½ΠΈΠ±Π°Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° любой страницС, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Ρ‚ΠΎΡ‡ΠΊΠΈ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ дСйствий, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ контСксту:


Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°Ρ‡Π½Ρ‘Ρ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ символы, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π°ΠΌ ΠΈΠ»ΠΈ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

А Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΡƒΠ»Π» рСквСстов β€” ΠΏΠΎ всСм вашим рСпозиторям:

И Π΄Π°ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎ ΠΈΡ… названию:


ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли ΠΏΠΎΠΌΠΈΠΌΠΎ Bitbucket Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ JIRA, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΌ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ.

Клавиша

.

для Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠΌΠ½ΠΈΠ±Π°Ρ€Π° β€” всСго лишь ΠΎΠ΄Π½Π° ΠΈΠ· горячих. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ⇧+? Π½Π° любой страницС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ список контСкстно-зависимых сочСтаний клавиш. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Bitbucket ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь:

  • / β€” ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ курсор Π² строку поиска
  • [ β€” ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ/Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ мСню
  • βŒƒ+⏎ β€” ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Клавиши-ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы β€” пСрСчислСнныС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ для Chrome Π½Π° OS X, β€” Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ списком сочСтаний (⇧+?) Π² своём Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ ΠΈΡ….

Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΡƒΠΆΠ΅ пользовались

сниппСтами

Π² Bitbucket, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ с ΠΈΡ… ΠΆΠ΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ любой Ρ„Π°ΠΉΠ» Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ сниппСта.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄! По Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 10 Мб. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ удобная консольная ΠΊΠΎΠΌΠ°Π½Π΄Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²:

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°

Downloads

Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ позволяСт ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² с Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠΌ Π² состоянии, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Π±Ρ‹Π» Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. 2~2.zip

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ вСсьма ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для Π½ΡƒΠΆΠ΄ Continuous Integration ΠΈ Continuous Delivery, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· рСпозитория Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Git ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΡƒΡ‡Ρƒ способов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, этот способ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ с Mercuruial!

Π’ июнС ΠΌΡ‹ запустили Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Bitbucket Connect, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Bitbucket. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠΆΠ΅ пользовались ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ ΠΈΠ· сторонних ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с Bitbucket с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Однако с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Bitbucket Connect Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ

ваш собствСнный

Bitbucket.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ JSON являСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ для Bitbucket Connect:

{
    "key": "download-commit-as-zip",
    "name": "Download commit as ZIP",
    "description": "Adds a \"Download as ZIP\" link to the commits page on Bitbucket",
    "baseUrl": "https://bitbucket.org",
    "modules": {
        "webItems": [{
            "key": "download-link",
            "url": "https://bitbucket. org/{repo_path}/get/{commit_hash}.zip",
            "name": {
                "value": "Download as ZIP"
            },
            "location": "org.bitbucket.commit.summary.actions",
            "params": {
                "auiIcon": "aui-iconfont-down"
            }
        }],
        "oauthConsumer": {
            "clientId": "WaLh6mhKdRUDpVcXAH"
        }
    },
    "scopes": ["team"],
    "contexts": ["personal"]
}

ПослС установки Π² Bitbucket Π½Π° страницах ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² появится ссылка

Download as ZIP

, β€” ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΉ рСсурс

/get/<revision>.zip

:

Π­Ρ‚ΠΎΡ‚ Π°Π΄Π΄ΠΎΠ½ я Π²Ρ‹Π»ΠΎΠΆΠΈΠ» Π² Π²ΠΈΠ΄Π΅ сниппСта, ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сСбС ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ссылки.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот способ для добавлСния ссылок Π² ваши Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ вашСго ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Π½Π° основС Bitbucket. Π£ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π΅ΡΡ‚ΡŒ докумСнтация ΠΈ получасовой Π²ΠΈΠ΄Π΅ΠΎ-ΡƒΡ€ΠΎΠΊ.

Если Π²Ρ‹ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ Π΄ΠΎ сюда, Ρ‚ΠΎ навСрняка Π»ΡŽΠ±ΠΈΡ‚Π΅ всё самоС Π½ΠΎΠ²ΠΎΠ΅. Если это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π²

настройки Bitbucket

ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅

Manage features

Π² мСню слСва, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. К слову, прямо сСйчас вас Ρ‚Π°ΠΌ ΠΆΠ΄Ρ‘Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ список ΠΏΡƒΠ»Π» рСквСстов!

ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ заглядывайтС Π² настройки снова, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Bitbucket Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠ·Π΅Ρ€- ΠΈ Π±Π΅Ρ‚Π°-вСрсии Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°.

Бпасибо Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅! Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своими Ρ‚Ρ€ΡŽΠΊΠ°ΠΌΠΈ Π² Bitbucket ΠΈΠ»ΠΈ Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ классная идСя для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ здСсь ΠΈΠ»ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π’ΠΈΠΌΡƒ

@kannonboy

Π² Twitter.

Π― с ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‡Ρƒ Π½Π° вопросы ΠΎΠ± этих ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… возмоТностях Bitbucket. НадСюсь, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΈΠ· пСрСчислСнных Ρ‚Ρ€ΡŽΠΊΠΎΠ² станут ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ для вас.


Автор ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” Π’ΠΈΠΌ ΠŸΠ΅Ρ‚Ρ‚Π΅Ρ€ΡΠ΅Π½, участвовал Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ JIRA, FishEye/Crucible ΠΈ Stash. Π‘ Π½Π°Ρ‡Π°Π»Π° 2013 Π³ΠΎΠ΄Π° ΠΎΠ½ рассказываСт ΠΎ процСссах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, git, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ поставкС (continuous integration/deployment) ΠΈ инструмСнтах Atlassian для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², особСнно ΠΎ Bitbucket. Π’ΠΈΠΌ рСгулярно ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎΠ± этих ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π°Ρ… Π² Twitter ΠΏΠΎΠ΄ псСвдонимом

@kannonboy

.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ рСпозитория / ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π° / Π₯Π°Π±Ρ€

Π’ΠΎΠ·Π½ΠΈΠΊΠ»Π° Ρƒ мСня ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρƒ мСня Ρ‚ΠΎΠ»ΡŒΠΊΠΎ зародился, поэтому ΠΎΡ‡Π΅Π½ΡŒ сырой. Π’ связи с этим, Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° всСобщСС ΠΎΠ±ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅, Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΈΠ· всСх ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ я Π²Ρ‹Π±Ρ€Π°Π» Bitbucket Ρ‚.ΠΊ. ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ созданиС ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ рСпозитория ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсплатно + ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ git.
Π’Ρ‹Π±ΠΎΡ€ сдСлан, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ практичСской части.

Для Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π° Bitbucket. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ПослС этого, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСму управлСния вСрсиями Π½Π° наш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Для этого ΠΌΡ‹ скачиваСм ΠΈ устанавливаСм git.
Π’ΠΎ врСмя установки, Π½Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Ρ‚ΠΈΠΏ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Git Bash HereΒ», Ρ‚.ΠΊ. для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TortoiseGit. Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«Run Git from the Windows Command PromptΒ»:

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Checkout Windows-style, commit Unix-style line endingsΒ»:

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки git, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΡΡ‚Π°Π»Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для git β€” TortoiseGit, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ исходниками Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Windows. ΠšΠ°Ρ‡Π°Π΅ΠΌ Π΅Π³ΠΎ здСсь.

Π’ процСссС установки, Π½Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π²Ρ‹Π±ΠΎΡ€ SSH ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°(ΠΌΡ‹ вСдь Ρ…ΠΎΡ‚ΠΈΠΌ бСзопасно ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ наши исходники Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ?). Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«PuttyΒ» – ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚:

ПослС инсталляции, сразу настроим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Для этого Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² настройки (Settings):

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Git -> Config ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ своС имя ΠΈ e-mail(ΠΏΠΎΡ‚ΠΎΠΌ эта информация Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π½Π°ΡˆΠΈΡ… commit-Π°Ρ…). Π’Π°ΠΊΠΆΠ΅ ставим Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Ρƒ ΠΏΡƒΠ½ΠΊΡ‚Π° Β«AutoCrlfΒ»:

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΡ‹ настроили, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ SSH-ΠΊΠ»ΡŽΡ‡ΠΈ для бСзопасной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Для этого Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Puttygen, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится с нашим TortoiseGit Π² ΠŸΡƒΡΠΊ-Π΅:

Π—Π΄Π΅ΡΡŒ всС просто, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Generate ΠΈ Π²ΠΎΠ΄ΠΈΠΌ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΠΎ экрану(для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π°). ПослС этого, записываСм ΠΏΠ°Ρ€ΠΎΠ»ΡŒ(для Π·Π°ΡˆΠΈΡ‚Ρ‹ ΠΊΠ»ΡŽΡ‡Π°) Π² Key passpharase ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ Π΅Π³ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ»Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ подсказку Π² ΠΏΠΎΠ»Π΅ Key comment. БохраняСм наши ΠΊΠ»ΡŽΡ‡ΠΈ: Β«Save public key / Save private keyΒ»:

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ наш сгСнСрированный ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² настройки Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΈ вставляСм Π΅Π³ΠΎ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»Π΅:

ДобавляСм Π΅Π³ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«Add keyΒ».

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом, Π±ΡƒΠ΄Π΅Ρ‚ создания рСпозитория Π½Π° сайтС Bitbucket:

Π—Π΄Π΅ΡΡŒ всС просто. Π’Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«GitΒ» ΠΈ язык программирования. Π‘Ρ‚Π°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ нашим трСбованиям, ΠΈ пишСм описаниС. НаТимаСм Β«Create repositoryΒ»:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ(Ρ‚Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ вся история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ исходного ΠΊΠΎΠ΄Π°). Для этого создаСм ΠΏΠ°ΠΏΠΊΡƒ ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Ρ‘ localRepository. Π’ контСкстном мСню нашСй ΠΏΠ°ΠΏΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Git Create repository here…»:

Π’ появившСмся ΠΎΠΊΠ½Π΅ ставим Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«Make it BareΒ».

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ создаСм ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ сам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. КликаСм Π½Π° ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Git Clone…Β»:

Π’ ΠΏΠΎΠ»Π΅ Url Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ(ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° Bitbucket)рСпозитория. Π­Ρ‚ΠΎΡ‚ ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ адрСсу bitbucket.org/userName/projectName β€” главная страница созданного рСпозитория Π½Π° Bitbucket.

Directory β€” ΠΊΡƒΠ΄Π° ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(ΠΏΡƒΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°)

Π‘Ρ‚Π°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ Β«Load Putty KeyΒ» ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ сохранСнный Π½Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. НаТимаСм Β«OKΒ»:

Π’Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ввСсти ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠ»ΡŽΡ‡Π°. Π’Π²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ:

ПослС этого, Ρƒ нас Π² ΠΏΠ°ΠΏΠΊΠ΅ Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, создаСтся ΠΏΠ°ΠΏΠΊΠ° .git(скрытая):

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² эту ΠΏΠ°ΠΏΠΊΡƒ:

ИдСм Π½Π°Π·Π°Π΄ ΠΈ Π² контСкстном мСню ΠΏΠ°ΠΏΠΊΠΈ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Git Commit -> β€œmaster” …»

Π­Ρ‚ΠΎΡ‚ шаг сдСлаСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ commit Π² Π³Π»Π°Π²Π½Ρ‹ΠΉ brunch git-Π°:

Π’ ΠΏΠΎΠ»Π΅ message, Π²Π²Π΅Π΄Π΅ΠΌ любой ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ нашСго измСнСния. НаТимаСм Π½Π° Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«Select/Deselect AllΒ» – для Π²Ρ‹Π±ΠΎΡ€Π° всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ Β«OKΒ»:

Π–Π΄Π΅ΠΌ окончания commit-Π°:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ commit ΠΏΡ€ΠΎΡˆΠ΅Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ синхронизируСм наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Для этого Π² контСкстном мСню ΠΏΠ°ΠΏΠΊΠΈ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Β«Git Sync…»:

НаТимаСм Push:

Π–Π΄Π΅ΠΌ окончания копирования:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° сайт bitbucket-Π° Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Source:

БистСма Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию.

Установка GIT ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Bitbucket (пошаговая инструкция)

Установка GIT

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ адрСсу http://git-scm.com

ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ дистрибутив для своСё ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ПослС скачивания ΠΈ запуска инсталлятора появляСтся мастСр установки:

Git — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‰Π°ΡΡΡ ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ GPL, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ свободноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ распространСниС:

Π’ ΠΎΠΊΠ½Π΅ ΠΎΠΏΡ†ΠΈΠΉ соглагшаСмся с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Git ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ с графичСским интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку. Для изучСния систСмы рСкомСндуСтся Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ основным ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.

Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ‚ΠΎΡ€ установит ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ для Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄:

На этом этапС установки вновь соглашаСмся с инсталлятором:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Windows Π½Π° дискС C: создадим ΠΏΠ°ΠΏΠΊΡƒ с Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ (Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². На самом Π΄Π΅Π»Π΅ эту ΠΏΠ°ΠΏΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² любом мСстС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π½ΠΎ ΠΌΡ‹ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅ΠΌ сСбС Π·Π°Π΄Π°Ρ‡Ρƒ.

Запустим Ρ‡Π΅Ρ€Π΅Π· Π³Π»Π°Π²Π½ΠΎΠ΅ мСню систСмы ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ Git Bash ΠΈ Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ смСны ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ:

РазумССтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого рСпозитария

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ *c: Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ тСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слуТит ΠΊΠΎΠΌΠ°Π½Π΄Π° git init

Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΡ‹ создадим тСкстовый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ помСстим Π΅Π³ΠΎ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Π Π°Π±ΠΎΡ‚Π° с bitbucket.org

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π° программиса Π±Ρ‹Π»Π° доступной Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² сСти. Π‘Π΅Ρ€Π²Π΅Ρ€ bitbucket.org прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ бСсплатно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ ΠΎ стороны Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ адрСсу http://bitbucket.org ΠΈ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, ΡƒΠΊΠ°Π·Π°Π² имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

ПослС рСгистрации Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ профиля.

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ русский язык с спискС языков интСрфСйса

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰ΠΈΠ΅ настройки Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π·Π°Π΄Π°Π½Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅). НаТимаСм Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ **Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ

Π‘Ρ€Π΅Π΄ΠΈ Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… настроСк: Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° систСмы управлСния вСрсиями (Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Git), Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ/ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ), Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (ΠΎΠ΄Π½ΠΎ слово) ΠΈ язык программирования (Π‘).

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ создан. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ имя появляСтся Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΈ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Для этого Π½ΡƒΠΆΠ½ΠΎ Ρ‰Ρ‘Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠΈ рСпозитария Π² спискС, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ ΡˆΠ΅ΡΡ‚Π΅Ρ€Ρ‘Π½ΠΊΠΈ.

БвязываниС локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°: локальноС, Π² ΠΏΠ°ΠΏΠΊΠ΅ C:* ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅, ΠΏΠΎ адрСсу https://имя@bitbucket.org/имя/имя_Ρ€Π΅ΠΏ.git** Но ΠΎΠ½ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связаны, ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, пусты.

МоТно Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ инструкциСй, автоматичСски ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°:

ΠœΡ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ порядок ΠΊΠΎΠΌΠ°Π½Π΄.

  1. Π’ ΠΎΠΊΠ½Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π° локальной машинС создадим Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:
echo "ashtan" >> contributers.txt
  1. Π”ΠΎΠ±Π°Π²ΠΈΠΌ созданный Ρ„Π°ΠΉΠ» Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅:
git add contributers.txt
  1. ЗафиксируСм измСнСния Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅:
git commit -m "ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ"
  1. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ связываниС локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ
git remote add origin https://имя@bitbucket.org/имя/имя_Ρ€Π΅ΠΏ.git

Π’ΠΎ врСмя ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· этапов ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… дСйствий с Git придётся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ адрСс ΠΏΠΎΡ‡Ρ‚Ρ‹:

  git config --global user.name "John Doe"
  git config --global user.email [email protected]

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ связь ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ внСсти измСнСния Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

   git push -u origin master

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΊ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ bitbucket Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ успСха являСтся появлСниС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… сообщСний:

На страницС рСпозитария Π² bitbucket.org Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ содСрТимого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Π’ дальнСйшСм, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅

   git add .

Π”Π°Π»Π΅Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния:

   git commit -m "ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ"

И, Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ измСнСния Π½Π° сСрвСр

   git push

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Bitbucket | Linux |PRO IT

Bitbucket β€” сСрвис хостинга ΠΈ совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (Git ΠΈ Mercurial). Аналог всСм извСстного GitHub. ОсновноС Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… бСсплатных Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ (Π΄ΠΎ 5 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ).

Bitbucket идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (Π½Π΅ показывая Π΅Π³ΠΎ всСму ΠΌΠΈΡ€Ρƒ) ΠΈΠ»ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² нСбольшой ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

РСгистрация Π½Π° сСрвисС ΠΎΡ‡Π΅Π½ΡŒ простая:Β Bitbucket ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ OpenID, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Β Bitbucket ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Google, Facebook ΠΈΠ»ΠΈ Twitter. ΠŸΡ€ΠΈ рСгистрации сСрвис ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи: личная ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π°. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ПослС рСгистрации Ρƒ вас спросят, Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»-ΠΊΠ»ΡŽΡ‡Π΅ΠΌ для доступа ΠΊ систСмС. ΠŸΡ€ΠΎΡ‰Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, бСзопаснСС key-Ρ„Π°ΠΉΠ». ПослС этого Π²Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ своС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² систСмС.

УстанавливаСм Git (Ubuntu)

Для установки Git Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌ Π² консолС ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹:

1. Π‘Ρ‚Π°Π²ΠΈΠΌ Git:

# sudo apt-get install git-core

2. УбСдимся, Ρ‡Ρ‚ΠΎ установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ:

# which git
/usr/bin/git

3. Π—Π°Π΄Π°Π΅ΠΌ своС имя ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

# git config --global user.name "FIRST_NAME LAST_NAME"

4. Π—Π°Π΄Π°Π΅ΠΌ свой e-mail:

# git config --global user.email "[email protected]"

Π Π°Π±ΠΎΡ‚Π° с Bitbucket

Войдя Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Bitbucket ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ справку ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. НапримСр, Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ страницС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° сСрвис ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, Ρ…ΠΎΡ‚ΠΈΠΌ Π»ΠΈ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Β  Β  #Β mkdir /path/to/your/project

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π½Π΅Π΅

 Β  # cd /path/to/your/project

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

 # git init 

УстанавливаСм сСрвСр для синхронизации:

# git remote add origin https://имя_Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°@bitbucket.org/имя_Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°/имя_Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.git

Π“ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ссылку ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Bitbucket.

Для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ рСпозитория

ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

# cd /path/to/my/repo

Установим сСрвСр для синхронизации

# git remote add origin https://имя_Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°@bitbucket.org/имя_Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°/имя_Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.git 

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° сСрвСр

# git push -u origin --all

Для внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

НапримСр, создаСм Ρ„Π°ΠΉΠ» README.md

# echo "# This is my README" >> README.md

ДобавляСм Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Git

# git add README.md

ЀиксируСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

# git commit -m "ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. ДобавляСм Ρ„Π°ΠΉΠ» README."

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

# git push origin master

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΉ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΠΈΠ»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρƒ:

# git clone https://имя_Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°@bitbucket.org/имя_Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°/имя_Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.git

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² элСктронном ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅ (Π½Π° русском языкС).

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ «ΠΠ°Ρ‡Π°Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Bitbucket»

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠ΅ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅:

IDEA, Git, BitBucket Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π§Π°ΡΡ‚ΡŒ 1: ΠžΡΠ½ΠΎΠ²Ρ‹. Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ локально.

Устав Ρ‚Π°ΡΠΊΠ°Ρ‚ΡŒ Ρ„Π»Π΅ΡˆΠΊΡƒ с JavaRushHomeWork.7z с Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎΠΌΠΎΠΉ Π° ΠΈΠ· Π΄ΠΎΠΌΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· Π·Π°Π±Ρ‹Π² ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ задания, мною Π±Ρ‹Π»ΠΎ принято Π²ΠΎΠ»Π΅Π²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒΡΡ 39-Π³ΠΎ уровня ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ пользования связку Git + BitBucket.
BitBucket, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ бСсплатныС ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ… JavaRush), Π° Git, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Git, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» Π½Π° слуху, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ мСня ΠΏΡ€ΠΎ Π½Π΅Π³ΠΎ ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ.
На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всС казалось простым ΠΈ понятным: рСгистрируСмся Π½Π° bitbucket.org, устанавливаСм Git, ΠΆΠΌΠ΅ΠΌ ΠΎΠ΄Π½Ρƒ Π²ΠΎΠ»ΡˆΠ΅Π±Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ ΠΌΠΎΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π° сСрвСрС, ΠΆΠΌΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈ чудСсным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС. ΠŸΠΎΡ‡ΠΈΡ‚Π°Π» я Ρ‚ΡƒΡ‚ ΠΈ Ρ‚ΡƒΡ‚, зарСгистрировался, установил, прописал, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ», Π½Π°ΠΆΠ°Π» «Share project», Π²Π²Π΅Π» имя, Π²Ρ‹Π±Ρ€Π°Π» Ρ‚ΠΈΠΏ ΠΈ… Ρ‡ΡƒΠ΄ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. НС Π²Π·Π»Π΅Ρ‚Π΅Π»ΠΎ, Π½Π° сСрвСрС Π±Ρ‹Π»ΠΎ пусто… Π‘ соТалСниСм Π±Ρ‹Π» Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΊΠΎΠ½ΡΡ‚Π°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Ρ„Π°ΠΊΡ‚ΠΎΠ²: Π±Π΅Π· Π±ΡƒΠ±Π½Π° Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, я совсСм Π½Π΅ понимаю Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π½Π° самом Π΄Π΅Π»Π΅, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ, ΠΈ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π°Ρ‚ всС эти Π½ΠΎΠ²Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ³ появились Π² ΠΌΠΎΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ.

Π˜Ρ‚Π°ΠΊ, запасаСмся Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ, Π±Π΅Ρ€Π΅ΠΌ Π² Ρ€ΡƒΠΊΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Pro Git ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ всС сначала.

БовсСм Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, для Ρ€Π°Π·ΠΎΠ³Ρ€Π΅Π²Π°.


БистСма управлСния вСрсиями — систСма, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ измСнСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ старыС вСрсии.

Git β€” распрСдСлённая систСма управлСния вСрсиями Ρ„Π°ΠΉΠ»ΠΎΠ².

РаспрСдСлённая систСма контроля вСрсий — систСма, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вся история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ хранится Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΈ ΠΏΡ€ΠΈ нСобходимости ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ истории локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π§Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ для нас? А Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ задСйствованном Π² процСссС, ΠΌΡ‹ локально Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ копию Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ рСпозитория. По Ρ„Π°ΠΊΡ‚Ρƒ, основная Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся ΠΈΠΌΠ΅Π½Π½ΠΎ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΎ BitBucket ΠΈ учимся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git Π² IDEA локально.

Установка Git.


ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ дистрибутив ΠΌΠΎΠΆΠ½ΠΎ Π½Π° сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° git-scm.com
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ установки смысла Π½Π΅Ρ‚, установка Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°, Π° доступныС Π½Π° этом этапС настройки Π²ΠΏΠΎΠ»Π½Π΅ понятны. Помимо этого, Π² сСти ΠΏΠΎΠ»Π½ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ установкС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²ΠΈΠ΄Π΅ΠΎ.
Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит Π·Π°ΠΎΡΡ‚Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅, Ссли Π’Ρ‹ устанавливаСтС Git послС IDEA, Π² послСднСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ git.exe. Если IDEA ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»Π°ΡΡŒ послС Git, ΠΏΡƒΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ автоматичСски.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория Git.



Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ двумя способами:

  1. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Git ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  2. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с сСрвСра.



Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΌΡ‹ рассмотрим ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git-сСрвСром, Π° ΠΏΠΎΠΊΠ° сосрСдоточимся Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, Git рассчитан Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ· консоли, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, поэтому, для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания происходящСго, Π½ΠΈΠΆΠ΅ я Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git ΠΈ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ мСню ΠΈΠ»ΠΈ сочСтаниями клавиш Π² IDEA. ΠŸΡ€ΠΈ этом, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΌΠΎΠΆΠ½ΠΎ нСпосрСдствСнно ΠΈΠ· IDEA.



Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ IDEA с ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ класса.



Для создания рСпозитория слуТит ΠΊΠΎΠΌΠ°Π½Π΄Π°
git initΠ­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ .git с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, основой рСпозитория Git.

Аналогично Π² IDEA — VCS — Enable Version Control Integration


IDEA Π±ΠΎΠ΄Ρ€ΠΎ ΠΎΡ‚Ρ€Π°ΠΏΠΎΡ€Ρ‚ΡƒΠ΅Ρ‚ ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π² «Tool Buttons» появится ΠΏΠ°Ρ€Π° Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ, Π° Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ «Version Control» ΠΌΡ‹ смоТСм ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²



ΠžΡΠ½ΠΎΠ²Ρƒ рСпозитория ΠΌΡ‹ создали, Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠΊΠ° Π½Π΅ находится ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ. И Ρ‚ΡƒΡ‚ слСдуСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСбольшоС лиричСскоС отступлСниС. Π’ Git Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ находится Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… состояний: зафиксированном, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ.
Зафиксирован — Π·Π½Π°Ρ‡ΠΈΡ‚ сохранСн Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
Π˜Π·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ — Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΈ зафиксированы.
ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ — ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ для «Ρ„иксирования».

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Git Bash — GeeksforGeeks

Git Bash — это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обСспСчиваСт Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой Git Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ git ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² систСмС. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° — это Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для взаимодСйствия с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Git Bash — это ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт Bash, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространСнныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ bash ΠΈ Git Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows. Π’ Git Bash ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ взаимодСйствуСт с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ элСмСнтами git с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git?
  • Git — это систСма контроля вСрсий для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² исходном ΠΊΠΎΠ΄Π΅ Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.
  • Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ программистов, Π½ΠΎ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² любом Π½Π°Π±ΠΎΡ€Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ².
  • Π•Π³ΠΎ Ρ†Π΅Π»ΡŒ — ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ контроля вСрсий.
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ git прСдставляСт собой ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΏΠΎΠ»Π½ΠΎΠΉ историСй ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ возмоТностями отслСТивания вСрсий, нСзависимо ΠΎΡ‚ доступа ΠΊ сСти ΠΈΠ»ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвСра.
  • Git ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅ΠΉ, которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹.
Установка Git Bash

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git Bash Π² Windows, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Π¨Π°Π³ 1: Установщик Ρ„Π°ΠΉΠ»Π° .exe для Git Bash ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ с https://gitforwindows.org/
ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ запуститС этот установщик, появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ: —

Π¨Π°Π³ 2: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π”Π°Π»Π΅Π΅.

Π¨Π°Π³ 3: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ способ использования Git ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ процСсс установки.

Π¨Π°Π³ 4: Π”ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса установки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git Bash.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Git Bash, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ установили git, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС просто Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² своСй ОБ git bash.

Навигация Π² Git Bash

CD ΠΊΠΎΠΌΠ°Π½Π΄Π°

Команда

cd относится ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° cd
Бинтаксис:

 cd имя_папки 
LS ΠΊΠΎΠΌΠ°Π½Π΄Π°

Команда

ls ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° списка всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.
Бинтаксис:

 лс 
Π—Π°Π΄Π°ΠΉΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Git Bash ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git Bash.

Π—Π°Π΄Π°ΠΉΡ‚Π΅ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

 git config --global user.name "FIRST_NAME LAST_NAME" 

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹:

 git config --global user.email "[email protected]" 
Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ локального рСпозитория

Для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ локального рСпозитория с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Github

Π¨Π°Π³ 2: Π”Π°ΠΉΡ‚Π΅ подходящСС имя Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ создайтС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π¨Π°Π³ 3: ПослС создания рСпозитория

появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

Π¨Π°Π³ 4: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Git Bash ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cd .

Π¨Π°Π³ 5: Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git.

 git init 

Π¨Π°Π³ 6: ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ фиксации, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΡ… Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

 git add. 

Π¨Π°Π³ 7: По Β«git statusΒ» Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ поэтапныС Ρ„Π°ΠΉΠ»Ρ‹

Π¨Π°Π³ 8: ЗафиксируйтС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ размСстили Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

 git commit -m Β«ΠŸΠ΅Ρ€Π²Π°Ρ фиксация» 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ПослС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«git statusΒ» Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‡Π΅Π³ΠΎ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, всС Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ зафиксированы.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git

Π¨Π°Π³ 1: ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Github ΠΈ Π² code section скопируйтС URL .

Π¨Π°Π³ 2: Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ URL-адрСс вашСго рСпозитория, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ваш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

 git ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ источника Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ_URL 

Π¨Π°Π³ 3: ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° GitHub.

 git push origin master 

Π—Π΄Π΅ΡΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ вашСго рСпозитория.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Git — Book

2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ (2014)

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ebook

Вся ΠΊΠ½ΠΈΠ³Π° Pro Git, написанная Π‘ΠΊΠΎΡ‚Ρ‚ΠΎΠΌ Π§Π°ΠΊΠΎΠ½ΠΎΠΌ ΠΈ Π‘Π΅Π½ΠΎΠΌ Π¨Ρ‚Ρ€Π°ΡƒΠ±ΠΎΠΌ ΠΈ опубликованная Apress, доступна здСсь.ВсС содСрТимоС находится ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Creative Commons Attribution Non Commercial Share Alike 3.0. ΠŸΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ вСрсии ΠΊΠ½ΠΈΠ³ΠΈ доступны Π½Π° Amazon.com.>

    1. 1.1
      О ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ вСрсий
    2. 1.2
      ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ история Git
    3. 1.3
      Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git?
    4. 1.4
      Командная строка
    5. 1.5
      Установка Git
    6. 1.6
      ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ настройка Git
    7. 1,7
      ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ
    8. 1,8
      РСзюмС
    1. 2.1
      ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ рСпозитория Git
    2. 2.2
      Π—Π°ΠΏΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
    3. 2.3
      ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории фиксации
    4. 2,4
      ΠžΡ‚ΠΌΠ΅Π½Π° Π²Π΅Ρ‰Π΅ΠΉ
    5. 2,5
      Π Π°Π±ΠΎΡ‚Π° с ΠΏΡƒΠ»ΡŒΡ‚Π°ΠΌΠΈ
    6. 2,6
      Π’Π΅Π³ΠΈ
    7. 2,7
      ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹ Git
    8. 2.8
      РСзюмС
    1. 3.1
      Π’Π΅Ρ‚Π²ΠΈ Π² Π΄Π²ΡƒΡ… словах
    2. 3.2
      Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ слияниС
    3. 3.3
      Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΠΈΠ°Π»ΠΎΠΌ
    4. 3,4
      Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов
    5. 3.5
      Π£Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΠΈΠ°Π»Ρ‹
    6. 3.6
      Π Π΅Π±Π°Π·ΠΈΠ½Π³
    7. 3,7
      РСзюмС
    1. 4.1
      ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹
    2. 4.2
      ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Git Π½Π° сСрвСрС
    3. 4.3
      Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° SSH
    4. 4.4
      Настройка сСрвСра
    5. 4.5
      Git Daemon
    6. 4.6
      Π£ΠΌΠ½Ρ‹ΠΉ HTTP
    7. 4,7
      GitWeb
    8. 4.8
      GitLab
    9. 4.9
      Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ размСщСния
    10. 4.10
      РСзюмС
    1. 5.1
      РаспрСдСлСнныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы
    2. 5.2
      УчастиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
    3. 5,3
      Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
    4. 5,4
      РСзюмС
    1. 6.1
      Настройка ΠΈ конфигурация ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи
    2. 6.2
      УчастиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
    3. 6.3
      Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
    4. 6.4
      Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ
    5. 6.5
      Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сцСнариСв Π½Π° GitHub
    6. 6,6
      РСзюмС
    1. 7.1
      Π’Ρ‹Π±ΠΎΡ€ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ
    2. 7.2
      Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ постановка
    3. 7.3
      Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ±ΠΎΡ€ΠΊΠ°
    4. 7,4
      Подпись вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹
    5. 7,5
      Поиск
    6. 7,6
      ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ
    7. 7,7
      Reset Demystified
    8. 7.8
      Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ слияниС
    9. 7.9
      Rerere
    10. 7.10
      ΠžΡ‚Π»Π°Π΄ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git
    11. 7,11
      ΠŸΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
    12. 7,12
      ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΡ
    13. 7,13
      Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ
    14. 7.14
      Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
    15. 7,15
      РСзюмС
    1. 8.1
      ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Git
    2. 8,2
      Атрибуты Git
    3. 8,3
      Git Π₯ΡƒΠΊΠΈ
    4. 8,4
      ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, примСняСмой Git
    5. 8.5
      РСзюмС
  1. 9.

ΠžΠ±Π·ΠΎΡ€

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ содСрТимого (ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ слияния, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий) ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ условия. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ условиС со встроСнным содСрТимым, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рассылаСтС ΠΏΠΎΡ‡Ρ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° создаСтся Π²Π΅Ρ‚ΠΊΠ°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ.

Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ссылку Expand examples ΠΏΠΎΠ΄ ΠΏΠΎΠ»Π΅ΠΌ Condition , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π©Π΅Π»Ρ‡ΠΎΠΊ ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ условиС ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΊΠΎΠ΄Π°.Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ссылки Π½Π° ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ послСднСй строки любого Groovy-скрипта возвращаСтся ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ условия, Π½ΠΎ Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово return , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ понятным.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π°Π΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ сцСнарий — Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ созданиС Ρ‚Π΅Π³ΠΎΠ² Π²ΠΎ всСх общСдоступных рСпозиториях . НачнСм с условия, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ созданию Ρ‚Π΅Π³ΠΎΠ²:

  ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΊΠΎΠΌ.atlassian.bitbucket.repository.RefChangeType

refChanges.any {it.refId.startsWith ("refs / tags /") &&
    it.type == RefChangeType.ADD
}  

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ условиС для общСдоступных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²:

  ΠΈΠΌΠΏΠΎΡ€Ρ‚ com.atlassian.sal.api.component.ComponentLocator
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ com.atlassian.bitbucket.repository.Repository
ΠΈΠΌΠΏΠΎΡ€Ρ‚ com.atlassian.bitbucket.permission.PermissionService

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ = Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

def permissionService = ComponentLocator.getComponent (PermissionService)
permissionService.isPubliclyAccessible (repository.project)  

Учитывая, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‚Π°ΠΊ:

  ΠΈΠΌΠΏΠΎΡ€Ρ‚ com.atlassian.sal.api.component.ComponentLocator
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ com.atlassian.bitbucket.repository.RefChange
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ com.atlassian.bitbucket.repository.Repository
ΠΈΠΌΠΏΠΎΡ€Ρ‚ com.atlassian.bitbucket.permission.PermissionService
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ com.atlassian.bitbucket.repository.RefChangeType

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ = Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ  refChanges = refChanges

def permissionService = ComponentLocator.getComponent (PermissionService)
def isPublic = permissionService.isPubliclyAccessible (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.ΠΏΡ€ΠΎΠ΅ΠΊΡ‚)

def isTagCreate = refChanges.any {it.refId.startsWith ("refs / tags /") &&
    it.type == RefChangeType.ADD
}

Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ isPublic && isTagCreate  

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ состояния

Π•ΡΡ‚ΡŒ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² условиях, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΡ… условия записи. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Π² этом случаС ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ находится Π² привязкС, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ e.Π³Ρ€Π°ΠΌΠΌ. PullRequest. Π˜Ρ…:

ΠΏΡƒΡ‚ΠΈ БоотвСтствиС
  логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ pathsMatch (String syntaxAndPattern)  

Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ истину, Ссли push, pull request, merge check ΠΈ Ρ‚. Π”. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ измСнСния Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ. АргумСнт syntaxAndPattern ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹: glob ΠΈ regex .

ΠœΠ΅Ρ‚ΠΎΠ΄ glob ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ant globs (ΠΌΠ΅Ρ‚ΠΎΠ΄ сопоставлСния ΠΏΡƒΡ‚Π΅ΠΉ Π² стилС Ant), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ соотвСтствуСт push, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ„Π°ΠΉΠ»Ρ‹ java Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ some / path.

  refChanges.pathsMatch ("glob: some / path / **. Java")  

Π’ ΠΌΠ΅Ρ€ΠΆ-рСквСстС это Π²Π΅Ρ€Π½Π΅Ρ‚ истину, Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² находится ΠΏΠΎΠ΄ ssh / keys:

  mergeRequest.pullRequest.pathsMatch ("glob: ssh / keys / **")  
Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ измСнСния Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ запроса Π½Π° пСрСнос, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния ΠΈΠ· Ρ€Π°Π·Π½ΠΈΡ†Ρ‹.
Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅ измСнСния ΠΈΠ· Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ запроса Π½Π° вытягиваниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, эти измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ находятся Π² Π²Π΅Ρ‚ΠΊΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ выполняСтС слияниС.
pathsMatch (ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² для запросов Π½Π° вытягиваниС)
  логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ pathsMatch (String syntaxAndPattern, Iterable  фиксируСт)  

Π­Ρ‚ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ pathsMatch , Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ для запроса Π½Π° вытягиваниС, Π° Π½Π΅ измСнСниям Π² diff. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ слияния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ссли ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² истории фиксации запроса Π½Π° вытягиваниС с использованиСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ слияния.

ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² — это ΠΊΠΎΠΌΠΌΠΈΡ‚ Atlassian.

Π’ ΠΌΠ΅Ρ€ΠΆ-рСквСстС это Π²Π΅Ρ€Π½Π΅Ρ‚ истину, Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² находится ΠΏΠΎΠ΄ ssh / keys:

  def pullRequest = mergeRequest.pullRequest
mergeRequest.pullRequest.pathsMatch ("glob: ssh / keys / **", pullRequest.getCommit ())  

ΠŸΡ€ΠΈ использовании условия ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° событий слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

  def pullRequest = event.pullRequest
pullRequest.pathsMatch ("glob: ssh / keys / **", pullRequest.getCommits ())  
Если Π²Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ссылку Expand examples ΠΏΠΎΠ΄ условиСм, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ pathsMatch ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².
pathsMatch — сбор всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΡ‚ΠΈ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ref)
  boolean pathsMatch (String s  

Bitbucket Time Tracking Integration

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ отслСТиваниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² BitBucket

1. НайдитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π² выпускС Bitbucket

На страницС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Issues ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТаниС вопроса.Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Start timer Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π°.

2. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Start timer , ΠΈ TMetric Π½Π°Ρ‡Π½Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ вашС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя Bitbucket. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Start timer мСняСтся Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Stop timer ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ врСмя, ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Если Π²Ρ‹ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ пространства ΠΈΠ»ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ администратором Π² TMetric ΠΈ запускаСтС Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, TMetric извлСкаСтся ΠΈΠ· Bitbucket ΠΈ добавляСт Π² вашС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство TMetric:

  • список Π΄Π΅Π»
  • ID Π΄Π΅Π»Π°
  • Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ запись Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ отобраТаСтся Π½Π° страницС Time Π² Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ TMetric.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π΄Π΅Π»Ρƒ Bitbucket, просто Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π·Π½Π°Ρ‡ΠΎΠΊ ссылки рядом с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ.

3. ΠŸΡ€ΠΈ нСобходимости ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ запись Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Π—Π°ΠΏΠΈΡΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с внСшнСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ имя Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π΅ тСряя ссылку Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Bitbucket.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Bitbucket, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ крСстик рядом с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° записи Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

4.ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ врСмя ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСм, Π° Ρ‚Π°ΠΊΠΆΠ΅ врСмя, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² TMetric.

TMetric — ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для отслСТивания Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Windows, macOS ΠΈ Linux, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своС врСмя ΠΈ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ дня. МобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ TMetric для Android ΠΈΠ»ΠΈ iOS — самый ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ своС врСмя Π² офисС ΠΈΠ»ΠΈ Π½Π° встрСчах с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ.

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ BitBucket

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΠΊΠΎΠ΄Π° Π² BitBucket.ΠžΡ‚ΡΡŽΠ΄Π° Π²Ρ‹ запускаСтС Ρ‚Π°ΠΊΠΈΠ΅ процСссы, ΠΊΠ°ΠΊ тСстированиС, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ сСрвСра ΠΈ созданиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ВсС эти процСссы ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ ΠΈ пригодится Bitbucket Pipelines.

Π­Ρ‚ΠΎ просто — Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ сдСлаСтС push Π½Π° Bitbucket.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ BitBucket?

Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС:

1) Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Linux создана с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ Docker

2) Π’Π°Ρˆ исходный ΠΊΠΎΠ΄ скопирован Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ

3) Π’Π°ΡˆΠΈ скрипты Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· Π±ΠΈΡ‚Π±Π°ΠΊΠ΅Ρ‚-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ².yml Ρ„Π°ΠΉΠ»

Π’ΠΎΡ‚ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° bitbucket-pipelines.yml, располоТСнного Π² ΠΊΠΎΡ€Π½Π΅ рСпозитория:

Pipelines ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этих скриптов, Ρ‡Ρ‚ΠΎ особСнно Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ успСх.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ процСсса сквозного тСстирования:

А Π²ΠΎΡ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π°Π»:

Π›Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ дисплСи ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°ΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π°ΡˆΠΈΡ… процСссов.Π₯ΠΎΠ΄ доставки ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ быстро ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ ΠΈΡ… появлСния.

Π›ΡŽΠ±Π°Ρ командная строка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°Ρ…

Π—Π΄Π΅ΡΡŒ, Π² Fresh, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… процСссов, ΠΊΠ°ΠΊ:

  • Push-сборка Π½Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ сСрвСры
  • Π£Π²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ Slack ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… тСстирования

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ процСссы, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности Π² сторонних слуТбах. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды Π½Π°Π΄Π΅ΠΆΠ½ΠΎ хранятся Π² настройках BitBucket, благодаря Ρ‡Π΅ΠΌΡƒ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ.

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ усилий?

ΠžΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ !!!

ИспользованиС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² сэкономит Π²Π°ΠΌ сотни часов Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ послСдниС сборки. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠœΡ‹ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ BitBucket Pipelines Π² вашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ процСссС.

Bitbucket | ДокумСнтация Buildkite

Buildkite интСгрируСтся с Bitbucket для прСдоставлСния Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сборок Π½Π° основС систСмы контроля вСрсий.ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° вашСго ΠΊΠΎΠ΄Π° Π² BitBucket ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сборки Buildkite, Π° состояниС сборки запросов Π½Π° вытягиваниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ выполнСния сборки.

Π’ этом руководствС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сборки BitBucket с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Buildkite.

Настройка Π²Π΅Π±-ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠ° Bitbucket

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ создали ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π² Buildkite ΠΈ вставили Π΅Π³ΠΎ Π² URL-адрСс рСпозитория bitbucket.org, Buildkite ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ инструкции ΠΏΠΎ настройкС для настройки Π²Π°ΡˆΠΈΡ… Π²Π΅Π±-ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² BitBucket.

Π­Ρ‚ΠΈ инструкции Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ, пСрСйдя ΠΏΠΎ ссылкС Β«Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ настройкС BitbucketΒ» Π½Π° страницС настроСк ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Buildkite:

Π’ инструкциях ΠΏΠΎ установкС Π΅ΡΡ‚ΡŒ прямая ссылка Π½Π° настройки, инструкции ΠΈ настраиваСмый URL-адрСс Π²Π΅Π±-ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠ° вашСго рСпозитория Bitbucket для ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°:

ПослС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΠΎ ссылкС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π±-ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊ:

ПослС заполнСния свСдСний ΠΎ Π²Π΅Π±-ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠ΅ Π² соотвСтствии с инструкциями Π² настройках ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Buildkite Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ», ΠΈ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сборки.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ обновлСния статуса фиксации

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡ΠΊΠΈ состояния сборки запроса Π½Π° пСрСнос Bitbucket обновлялись ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ выполнСния сборки, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ свою ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Bitbucket ΠΊ Buildkite. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΈ Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ обновлСния статуса сборки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот шаг.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ свою ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Bitbucket, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки Buildkite, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ прилоТСния» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΒ»:

Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Buildkite Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ статуса, Π° Π·Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° страницу Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ прилоТСния».

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки Bitbucket для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Π½Π° страницС настроСк ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°:

Mercurial ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

БрСдством управлСния вСрсиями

Buildkite Agent ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся Git, ΠΈ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Mercurial ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Buildkite с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ BitBucket Mercurial, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ собствСнный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Mercurial с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настраиваСмого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° глобальной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Buildkite Agent.

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *