GIT w skrócie – rozproszony system kontroli wersji

Do samodzielnego, prostego zarządzania własnym repozytorium czasami wystarczą poniższe komendy:


git config user.name “Imię Nazwisko”
git config user.email imie@domena.pl
git init
git add file
git commit -m ‘komentarz’
git status
git push origin master

Określamy kolejno dane konfiguracyjne, inicjalizujemy repo, dodajemy jakieś pliki, zatwierdzamy komentarzem, możemy przejrzeć status (np. zmodyfikowany) i końcowa czynność dodanie do repo na konkretnej gałęzi.

A teraz trochę więcej szczegółów:

Git posiada trzy stany, w których mogą znajdować się pliki:
1) zmodyfikowany – plik został zmieniony, ale zmiany nie zostały wprowadzone do bazy danych
(zmodyfikowany – kolor czerwony)
2) śledzony – zmodyfikowany plik został przeznaczony do zatwierdzenia w bieżącej postaci w następnej operacji commit
(zmodyfikowany – kolor zielony)
3) zatwierdzony – dane zostały bezpiecznie zachowane w Twojej lokalnej bazie danych

Ze względu na te trzy stany, projekt GIT jest podzielony na trzy główne sekcje:
– katalog GIT (repository)
– katalog roboczy (working directory)
– przechowalnia (staging area)

– poczekalnia (tylko zmodyfikowany, nieśledzony) (git add)(potem git commit)
(coś pomiędzy katalogiem roboczym, a przechowalnią)


user@computer$ git diff – różnice między katalogiem roboczym a przechowalnią
user@computer$ git diff HEAD – różnice między katalogiem roboczym a repozytorium
user@computer$ git diff –staged – różnice między przechowalnią a repozytorium

 

katalog roboczy (tu modyfikujemy pliki, tworzymy nowe)
przechowalnia (tu śledzimy pliki, które czekają na umieszczenie w repozytorium)
repozytorium (tu przechowujemy zatwierdzone pliki)

 

user@computer$ git add . – dodanie do poczekalni zawartości całego bieżącego katalogu

user@computer$ git log -historia rewizji(dokonanych zmian w odwróconej chronologii)
user@computer$ git log –graph –decorate –pretty=oneline –abbrev-commit –all

user@computer$ git commit –amend -poprawa komentarza w ostatniej rewizji
user@computer$ git commit -a -pozwala ominąć poczekalnię i dodaje do repozytorium wszystkie zmienione pliki, które były śledzone (zatwierdzenie wprowadzonych zmian)

user@computer$ git branch -wypisuje gałęzie i zaznacza, w której aktualnie się znajdujemy
user@computer$ git branch newbranch -utworzenie nowej gałęzi
user@computer$ git checkout newbranch -przejście do podanej gałęzi
user@computer$ git merge newbranch -scalenie gałęzi newbranch z gałęzią master
user@computer$ git branch -d newbranch -usunięcie gałęzi newbranch
user@computer$ git checkout -b newbranch -utworzenie nowej gałęzi i przejście do niej

user@computer$ git stash -“ukrywanie” zmian wprowadzonych na danej gałęzi (umieszczenie zmian w schowku – nie chcemy ich jeszcze wrzucić do repozytorium)
user@computer$ git stash apply -pobranie danych ze schowka
user@computer$ git stash clear -wyczyszczenie niepotrzebnego już schowka

Akcja minimalizacji otwartego okna w panelu bocznym – Linux

Przedstawię pokrótce jak włączyć w Ubuntu 20.04 Focal Fossa w środowisku GNOME na panelu bocznym akcję minimalizacji otwartego okna lub przeglądu otwartych okien.

Pobranie aktualnej ustawionej wartości:

gsettings get org.gnome.shell.extensions.dash-to-dock click-action

 

Przywrócenie ustawień domyślnych:

gsettings reset org.gnome.shell.extensions.dash-to-dock click-action

 

Ustawienie na minimalizację lub przegląd otwartych okien:

gsettings set org.gnome.shell.extensions.dash-to-dock click-action ‘minimize-or-overview’

 

Otrzymanie wszystkich możliwych wartości, które mogą być ustawione:

gsettings range org.gnome.shell.extensions.dash-to-dock click-action

I tu można dowolnie próbować innych kombinacji, które najbardziej będą odpowiadać.

Montowanie zewnętrznego/dodatkowego dysku w Ubuntu 20.04 Focal Fossa

Często zdarza się, że pewne partycje, które trzeba montować ręcznie pod systemem Linux, klikajać w ich ikonę w menedżerze plików, Nautilusie nie zawsze mają chciane przez nas prawa dostępu, czyli np. zapis danych.
Najpierw przedstawię metodę automatycznego montowania tych partycji/dysków wraz ze startem systemu.
Niestety czasem ten sposób jest zawodny, gdyż często pojawiają się błędy systemu plików i urządzenie nie jest montowane, np. przy NTFS.

Automount z startem systemu:

Pobranie UUID konkretnego urządzenia: (można łatwo skopiować/wkleić w terminalu uuid poprzez kombinację [(SHIFT +CTRL +C)=kopiuj, (SHIFT +CTRL +V)=wklej]


ls -l /dev/disk/by-uuid/*

Edycja pliku systemowego do automontowania urządzeń:


mkdir /media/folder-montowania-urzadzenia
sudo nano /etc/fstab

W powyższym pliku zapisujemy sekwencję, rozdzieloną znakiem tabulacji:

UUID     /dev/nazwa-urzadzenia-w-linuksie/     /media/folder-montowania-urzadzenia     system-plikow,np.ntfs     defaults(ustawienia domyślne)     0     0

Krótkie wyjaśnienia:
Najpierw tworzymy folder do zamontowania dysku.
W pliku w jednej linii wprowadzamy dane.
I tu, zamiast defaults możemy, np. zastosować:
exec = wykonywanie plików
rw = tryb odczytu-zapisu
users = wszyscy użytkownicy
auto = tryb automatyczny
remount = ponowne montowanie
wpisujemy powyższe słowa kluczowe w miejscu defaults, po przecinku bez żadnych odstępów pomiędzy słowami
Ostatnie cyfry: 0 0, to:
dump – zazwyczaj zero
pass – używane przez program fsck, w której kolejności system plików jest sprawdzany. Wartość admina/roota jest 1. Swap/partycja wymiany nie musi być sprawdzana i jest równa zero. Inne systemy plików powinny mieć 2.

Montujemy wszystkie urządzenia ponownie:


mount -a

I powyższy sposób jest jak najbardziej prawidłowy, niestety jak wystąpią jakieś błędy zdarza się, że urządzenie zostanie zamontowane, np. tylko do odczytu, albo w ogóle.

 

Druga metoda, to stworzenie prostego skryptu w bashu:

#!/bin/bash 
#to jest komentarz

#odmontowywujemy urządzenie 
sudo umount /dev/nazwa-urzadzenia media/folder-montowania 

#montujemy 
sudo mount -o defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania 

#naprawiamy ewentualne błędy w systemie plików 
sudo ntfsfix /dev/nazwa-urzadzenia 

#przemontowywujemy ponownie 
sudo mount -o remount,defaults,exec,rw,users,auto -t ntfs /dev/nazwa-urzadzenia media/folder-montowania

Nie zapomnijmy o nadaniu praw wykonania do pliku:


chmod +x nasz-skrypt.sh

Jeszcze większym ułatwieniem jest stworzenie skrótu na pulpicie do skryptu (metoda działa pod Ubuntu 20.04):

Tworzymy plik na pulpicie z rozszerzeniem .desktop:

#!/usr/bin/env xdg-open
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=true
Exec=/home/user/mount-disks.sh 
Name=Mount disks
Comment=Mount disks 
Icon=/home/user/Obrazy/hdd-mount.ico

Exec – ścieżka do naszego skryptu
Icon – ikona, jaką chcemy żeby się nam wyświetlała

Nie zapomnijmy jak poprzednio nadać prawa wykonania i jeszcze klikamy na pliku prawym przyciskiem myszy i wybieramy “Zezwól na uruchamianie”.

Teraz za pomocą drugiej metody, po uruchomieniu skryptu wpisujemy hasło root-a, sprawdzane i naprawiane są struktury plików i zamontowane powinny być nasze urządzenia dla wszystkich użytkowników z prawami wykonania, odczytu i zapisu.

Uruchomienie aplikacji Spring Boot na Heroku

Zgodnie z linkiem tworzymy szkielet Spring Boot. Na stronie Initializr dodajemy jako zależności “Spring Web”.
Możemy dodać jakąś nową klasę, żeby wyświetlała nam jakiś tekst, np. :

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Example {

@RequestMapping("/")
String hello(){
return "Witaj świecie!";
}

public static void main(String[] args){
SpringApplication.run(Example.class,args);
}
}

Standardowo odpalamy aplikację i powinien wyświetlić nam się żądany tekst.

Gdy mamy już zainstalowanego Git-a i Heroku logujemy się:

$heroku login

Następnie tworzymy lokalne repozytorium i dodajemy pliki:

git init
git add .
git commit -m "initial commit"

Tworzymy aplikację komendą:

$heroku create

A potem wrzucamy kod do zdalnego repozytorium:
$git push heroku master

I otwieramy za pomocą polecenia:
$heroku open

VirtualBox pod Linuksem (poprawne działanie)

Czasami pod Ubuntu 18.04 może wystąpić błąd z działaniem wirtualnego menedżera wirtualnych maszyn VirtualBox firmy Oracle.

Wykonujemy wtedy następujące kroki:

1. Wyłączamy w BIOS opcję “secure boot”.

2. Włączamy w BIOS opcję “Intel Virtual Technology”.

3. Ściągamy obraz ISO Guest Additions.

4. Ustawiamy następnie współdzielone foldery.

W ten oto sposób powinniśmy mieć w miarę poprawnie skonfigurowany program do uruchamiania systemów na wirtualnych maszynach oraz ich integrację z środowiskiem zewnętrznym.

Konwersja obrazu .nrg na .iso i montowanie obrazu .iso w linuksie

W powyższym celu wykonujemy w terminalu następujące komendy:

Konwersja obrazu .nrg do .iso:

$poweriso convert file.nrg -o file.iso

 

Tworzymy jakiś dowolny folder pod którym chcemy zamontować nasz przerobiony obraz:

 user@computer$ mkdir /iso/

 

Jako administrator montujemy obraz pod wskazaną lokalizacją:

 user@computer$ sudo mount file.iso /iso/

Google+ zamknięty (dla użytkowników indywidualnych)

2 kwietnia 2019 serwis społecznościowy Google+ został zamknięty dla użytkowników indywidualnych (dla kont firmowych działa nadal).

Wikipedia Google+

Facebook najpierw wykupuje serwis społecznościowy Instagram (od Kevin_Systrom (dawny pracownik Google), Mike_Krieger) (Burbn, Inc.), teraz znika Google+.

Mark Zuckerberg główny twórca portalu społecznościowego Facebook, który plasuje się na pierwszym miejscu w tej kategorii serwisów, nie daje szans innym konkurentom jak widać.

Jednak wątpię żeby wygryzł też YouTube, który jest w czołówce mediów społecznościowych.