Kategorie
GIT

Cloning another Bitbucket repository in Bitbucket Pipelines

Create SSH keys for the main repository
Repository settings # Pipelines > SSH keys
https://bitbucket.org/{USER}/{REPOSITORY}/admin/pipelines/ssh-keys

Add SSH public key in the target repository
Repository settings # General > Access keys
https://bitbucket.org/{USER}/{REPOSITORY}/admin/access-keys/

More at blog atlassian.com

Kategorie
Composer GIT

Dodanie repozytorium prywatnego w composer.json oraz CI/CD Pipelines w bitbucket.org

Aby dodać prywatne repozytorium z Bitbucket do projektu przez Composer i umożliwić CI/CD jego pobranie, wykonaj następujące kroki:

Dodanie repozytorium w composer.json

Dodaj prywatne repozytorium do pliku composer.json w projekcie:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "git@bitbucket.org:mgkuzniar/dotpay-php-sdk.git"
    }
  ],
  "require": {
    "mgkuzniar/dotpay-php-sdk": "dev-main"
  }
}

Dostosuj dev-main do odpowiedniej gałęzi lub wersji.

Autoryzacja lokalna (na komputerze deweloperskim)

Musisz mieć skonfigurowane SSH na swoim komputerze:

Sprawdź, czy masz klucz SSH:

ls ~/.ssh/id_rsa.pub

Jeśli go nie masz, wygeneruj:

ssh-keygen -t rsa -b 4096 -C „twoj@email.com”

Dodaj klucz do Bitbucket w Personal Settings > SSH Keys.

Sprawdź, czy działa:

ssh -T git@bitbucket.org

Teraz możesz pobrać paczkę przez Composer.

Konfiguracja CI/CD (Bitbucket Pipelines)

Aby CI/CD mogło pobrać repozytorium:

Dodaj klucz SSH do Pipelines

W Repository Settings > Pipelines > SSH Keys wygeneruj klucz SSH i dodaj publiczną część do Bitbucket > Personal Settings > SSH Keys (dla użytkownika, który ma dostęp do repozytorium dotpay-php-sdk).

Dodaj dostęp do known_hosts W bitbucket-pipelines.yml dodaj:

image: composer:latest

pipelines:
  default:
    - step:
        script:
          - mkdir -p ~/.ssh
          - ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
          - composer install --no-interaction --prefer-dist

Teraz Composer i CI/CD mogą pobierać prywatne repozytorium. 🚀

Kategorie
GIT

GIT stop tracking changes in directory

git rm -r --cached path_to_your_directory/
Kategorie
GIT

Klucze SSH

Wygenerowanie klucza

ssh-keygen -t rsa -b 4096 -C "twojemail@gmail.com" -f ~/.ssh/moj_klucz_rsa

Uruchomienie ssh-agent (jeśli nie jest uruchomiony):

eval "$(ssh-agent -s)"

Dodanie klucza:

ssh-add ~/.ssh/moj_klucz_rsa
Kategorie
Bez kategorii GIT

Przydatne polecenia GIT

Usunięcie taga ze zdalnego repozytorium:

git push --delete origin v.2.5.16

Tagowanie starszego commita:

git tag -a v2.5.16 5bf6091 -m "Wersja 2.5.16"
git tag -a v2.6.21 1f958cb -m "Wersja 2.6.21"
git tag -a v2.6.2 5f6097d -m "Wersja 2.6.2"

Usunięcie taga z lokalnego repozytorium:

git tag --delete v.2.5.16

Push all local tags to remote repo:

git push origin --tags

Usunięcie wszystkich tagów z repozytorium lokalnego:

git tag -l | xargs git tag -d

Pobranie listy tagów z repozytorium zdalnego:

git fetch

Zwraca bieżącą nazwę taga:

git describe --tags --abbrev=0

push do konkretnej gałęzi:

git push origin master

git push origin test

git push origin production

Pobranie zmian ze śledzonej gałęzi:

git pull

a jeśli gałąź test nie jest śledzona:

git pull <remote> <branch>
git pull origin test

Śledzenie zmian wybranej gałęzi:

git branch --set-upstream-to=origin/test test

Usunięcie wybranej gałęzi:

git branch -D test
git push --delete origin test
Kategorie
GIT

Archiwum zip z repozytorium GIT

Ostatni commit

W katalogu głównym kopii roboczej uruchom polecenie:

git archive -o nazwa_pliku_latest_head.zip HEAD

Wybrana gałąź (branch)

git archive -o nazwa_pliku_latest_master.zip master