[git] Anularea primului (și ultimului) commit fără pierderea modificărilor din directorul de lucru

Dacă ai un depozit git nou, faci un commit, apoi îți dai seama că în commit ai adăugat un fișier care nu trebuia adăugat, încerci să folosești comanda „git reset --soft HEAD^1” dar nu funcționează deoarece înainte de commit-ul HEAD nu mai există nici un commit. Singura soluție pe care am găsit-o este să să șterg directorul „.git” din depozit și să recreez depozitul git cu remote-ul potrivit, făcând o copie a fișierelor din directorul de lucru. Sigur, acest lucru funcționează doar când primul commit nu a fost trimis pe server cu un „git push”. Cunoașteți o altă soluție? Dacă da, vă rog să scrieți un comentariu.

[Windows 7] Deschide rapid o fereastră Command Prompt în orice director

Acest articol vă va arăta cum să folosiți elementul de meniu contextual „Open command window here” al unui dosar sau al unei partiții pentru a deschide un command prompt cu focalizare pe acel dosar sau acea partiție în Windows 7 (altfel spus, noua fereastră command prompt va avea directorul curent setat la directorul în care s-a selectat „Open command window here”.

Aceasta te va ajuta să efectuezi o comandă în acel dosar sau partiție în loc să trebuiască să deschizi un command prompt normal și să tastezi manual locația dosarului în ea folosind comanda CD.

Note:
- Acest element de meniu contextual este disponibil doar pentru un dosar normal, un dosar inclus într-o bibliotecă, o partiție în Windows Explorer, panoul de navigare, și pe suprafața mesei de lucru (Desktop).
- Acest element de meniu contextual nu este disponibil pentru biblioteci sau fișiere (ex.: exe, txt, etc...).
- Acest element de meniu contextual deschide doar un command prompt normal și nu un command prompt elevat (cu drepturi de administrator).

Iată cum:
1. Apasă și ține apăsată tasta Shift și fă clic dreapta pe/în dosarul sau partiția în care dorești să se deschidă command prompt.
2. Apasă elementul „Open command window here” din meniul contextual.
3. Eliberează tasta Shift.

Am descoperit acest truc aici și acest articol este o traducere a acelei pagini. Pe acea pagină aveți și capturi de ecran.

Despre comanda cd pe Windows și Linux

Notă: acest articol nu este finalizat.

„cd” (sau legătură la articolul în engleză care este mai complet) este o comandă pe sistemele de operare de calculator Windows (în trecut pe MS-DOS), Linux și altele al cărei nume vine de la „chdir”, de la englezescul „change directory” tradus „schimbă directorul”.

Pe Windows

Executând comanda „cd /?” se afișează un mesaj de ajutor în legătură cu comanda „cd”. Pe scurt și, sper eu, mai clar, acest mesaj spune că:

1. Comenzile „cd” și „chdir” fac același lucru. Practic, sunt aceeași comandă.
2. Rulând comanda „cd” fără nici un argument (sinonim cu parametru) se afișează directorul curent asociat partiției curente (care este cel aflat în Command Prompt înainte de primul caracter „>” de pe linia în care se introduce comanda). Este interesant faptul că pe Windows comanda „cd” menține simultan un director curent pentru fiecare partiție, director care implicit este rădăcina partiției respective.
3. Rulând comanda „cd X:” unde X este litera unei partiții, se va afișa directorul curent asociat acelei partiții.
4. „cd X” schimbă directorul curent în X dacă X face referire la un director (dosar) din aceeași partiție cu directorul curent. X poate fi și numele special „..” care semnifică directorul părinte al directorului curent, dacă el există. Deci, rulând comanda „cd ..” în directorul „C:\Users\eu” directorul curent se schimbă în „C:\Users”. În cazul în care directorul curent este de forma „X:\” nu există director părinte și comanda „cd ..” nu face nimic. Acest nume special, „..” poate fi parte din calea X semnificând directorul părinte al directorului cu calea ce precede „..” în X. De exemplu, dacă suntem în directorul „D:\” și în acest director există dosarul „D:\dosarA\dosarB”, rulând comanda „cd dosarA\dosarB\..”, în final directorul curent va fi „D:\dosarA”. Numele „..” poate fi inclusiv în mijlocul unei căi de dosar.
5. Dacă vrem să schimbăm și partiția în calea X, executăm comanda „cd /D X”.
6. Comenzile de forma „cd /D X:” sunt echivalente cu comenzile „X:”, iar cele de forma „cd /D X:\cale\de\test” sunt echivalente cu comenzile „X:”, fiecare urmate de „cd cale\de\test”.

Exemplu:

Un exemplu de utilizare aveți mai jos. Comenzile de mai jos sunt executate în ordine, una după cealaltă, în aceeași fereastră Command Prompt. Înaintea fiecărei comenzi am trecut un număr și la fiecare număr am trecut explicațiile dedesubtul exemplului.


(1) C:\Users\silviu> cd E:\Muzică

(2) C:\Users\silviu> cd /D E:\Muzică

(3) E:\Muzică>cd ..

(4) E:\>cd ..

(5) E:\>cd Muzică

(6) E:\Muzică>cd
E:\Muzică

(7) E:\Muzică>cd C:
C:\Users\silviu

(8) E:\Muzică>cd /D C:

(9) C:\Users\silviu>cd E:
E:\Muzică

(10) C:\Users\silviu>cd /D E:

(11) E:\Muzică>cd /D C:\Users

(12) C:\Users>

Explicații:

(1) Prima comandă nu face nimic deoarece se cere schimbarea directorului curent într-un director aflat pe o altă partiție decât directorul curent.

(2) A doua comandă schimbă directorul curent schimbând și partiția, deoarece s-a folosit argumentul „steag” al comenzii, „/D”. Această comandă este echivalentă cu comanda „E:” urmată (după executarea acesteia) de comanda „cd Muzică”.

(3) Comanda aceasta schimbă directorul curent urcând cu un nivel spre rădăcina partiției curente.

(4) Comanda executată aici nu schimbă nici un director curent al niciunei partiții deoarece ne aflăm deja la rădăcina partiției directorului curent.

(5) Comanda aceasta intră în directorul Muzică din partiția E:.

(6) Se afișează directorul curent al partiției curente, partiție care este E:.

(7) Se afișează directorul curent al partiției C: care a rămas neschimbat din ultimul moment în care am fost cu directorul curent în partiția C:.

(8) Se schimbă directorul curent în directorul curent asociat partiției C:. Această comandă este echivalentă cu comanda „C:”.

(9) Se afișează directorul curent al partiției E: care a rămas la fel ca în ultimul moment în care eram cu directorul curent în partiția E:.

(10) Se schimbă directorul curent în directorul curent asociat partiției E:. Această comandă este echivalentă cu comanda „E:”.

(11) Pe lângă „cd /D C:” se mai pune și o cale a unui director în interiorul partiției C:, astfel nu doar că se schimba partiția curentă în C:, dar se schimba și directorul curent asociat noii partiții curente. Această comandă este echivalentă cu comanda „C:” urmată (după executarea acesteia) de comanda „cd Users”.

(12) Aici se poate vedea directorul curent rezultat în urma ultimei comenzi.

Pe Linux

Executând comanda „cd --help” se afișează următorul mesaj:

„bash: cd: --: opțiune nevalidă
cd: utilizare: cd [-L|[-P [-e]] [-@]] [dir]”

Cu comenzile „man” și „info” pe Ubuntu 15.10 x64 nu pot găsi informații despre cum se folosește comanda „cd”. În schimb am găsit acest articol în limba engleză foarte bun în legătură cu comanda „cd” pe Linux.

Diferențele comenzii „cd” de pe Linux față de Windows sunt:
1. Nu există argument care să facă comanda să afișeze un mesaj de ajutor despre utilizarea ei.
2. Nu se păstrează un director curent pentru fiecare partiție montată. Există un singur director curent la un moment dat.
3. Pe Linux partițiile nu au litere asociate ci directoare în care se montează. În loc de obișnuita partiție „C:” există directorul rădăcină cu calea „/” (pe Linux separatorii din căi sunt „/”, nu „\” spre deosebire de Windows).
4. Pentru a afișa directorul curent de lucru nu se folosește comanda „cd” fără nici un argument ci comanda „pwd” fără nici un argument.
5. Spre deosebire de comanda „cd” pe Windows, pe Linux aceasta are mai multe argumente (opțiuni) de tip „steag” adică fie sunt specificate în comandă, fie nu, neavând nici o valoare asociată. Aceste argumente sunt „-L” care face ca comanda să urmărească legăturile simbolice, și „-P” care face face ca comanda să folosească structura fizică a directorului în locul legăturilor simbolice.

Vezi această pagină pentru cum să execuți o operație „Înapoi” sau „Back” (nu „În sus” sau „Up”, comanda funcționează doar cu un o singură întoarcere la directorul curent din trecut, după care începe să se învârtă în cerc, între directorul curent și directorul curent anterior) în terminal cu comanda „cd” (Acest lucru nu este posibil pe Windows).

Pe alte sisteme de operare

Pe Unix, BSD, Mac OS X nu am putut încerca comanda cd, dar mă gândesc că este extrem de similară cu cea de pe Linux.

Programul meu Windows favorit de citire de fișiere PDF

Cred că cei mai mulți folosesc Adobe Reader numit mai nou Adobe Acrobat Reader DC.

Eu prefer STDU Viewer (deschizând această legătură în partea stângă aveți capturi de ecran, iar în partea dreaptă, mai în jos, aveți legături de descărcare). Este gratuit, distribuit sub forma unui program de instalare executabil. Există și o versiune portabilă.

Spre deosebire pozitivă de Adobe Reader,
  • este mai rapid, pornește mai repede, încarcă fișierele mai repede;
  • nu instalează adware (Adobe Reader instalează automat McAfee Security Scan Plus și din câte văd acum nu există opțiune de a dezactiva această funcție);
  • are o interfață mai prietenoasă pentru utilizatorii de maus (Adobe Reader are meniuri gigantice parcă făcute pentru a fi atinse cu degetele);
  • există funcția de rupere a vizualizării documentului pe orizontală sau pe verticală (este o funcție mai flexibilă decât funcția de vizualizare a două pagini pe orizontală disponibilă în Adobe Reader);
  • are funcția de inversare a culorilor din document la citire care e plăcută noaptea (pe întuneric) la documentele care altfel ar fi foarte luminoase.
Dar Adobe Reader are avantajele lui specifice:
  • are funcție de autoderulare (ținând apăsată rotița mausului și mișcând în sus și în jos mausul se realizează o derulare lină, frumoasă);
  • are setări mai multe pentru tipărire;
  • are temă gri închis pentru aplicație (conținutul documentelor rămâne la fel ca la tema gri deschis).
Aceasta nu este o analiză exhaustivă.