Folositi Git in linie de comanda?

Un simplu filtru grep si am rezolvat tot.

Pipeline-ul nu e legat de linia de comanda, adica nu are nicio legatura cu ce folosesti tu local :wink:
Eu folosesc GitKraken/GitExtensions si in acelasi timp am pe fiecare repo pipeline-uri cu Azure DevOps, Gitlab Pipelines, Jenkins, etc.
Iar legat de “un simplu filtru grep”…really? :smiley:
Concluzia mea era ca tu ca programator trebuie sa fii flexibil si sa folosesti orice iti face munca mai usoara, nu sa respingi ceva doar pentru ca “I only love CLI”. Daca iti faci treaba bine in linia de comanda, bravo tie, pentru ca situatiile ca cele de mai sus(cu search + cherry pick) sunt foarte rare si n-are rost sa instalezi alt tool doar pentru asta, dar asta nu inseamna ca toata lumea ar trebui sa foloseasca CLI-ul.

2 Likes

Eu credeam ca intrebarea are legatura cu ce folosesti local pt edit, commit, push etc, ca doar nu faci edit direct unde e repo’ul hostat. Total de acord cu tine, Bogdan, fiecare v-a folosi ceea ce e mai usor de inteles sau obisnuit sau in functie de cerintele proiectului, doar ca eu nu am folosit niciodata altceva local in afara de cmd line (inclusiv text editor), dar in acelasi timp proiectele nu sunt f mari si nr de contributers, de asemenea, f redus (de regula max 20 de pers care lucram pe proiecte de DevOps - scripuri bash, python, ansible playbooks/roles, gitlab pipeline files etc)

1 Like

doar din terminal. ide-urile ma confuzeaza

La ce te referi cand zici “se cere”?:slight_smile:

Daca ma intrebi pe mine si clientul are departament tehnic ca in orice firma de outsourcing si sunt persoane care gandesc flows git, github, de examplu labels pe PRs, git pull origin develop sa tinem branches updates, etc.

Astazi am aflat ca exista oameni care chiar folosesc git in IDE. Serios, chair am crezut de umplutura feature-ul ala. Oh well…

2 Likes

Eu nici nu stiam ca exista client de git pt windows. Cum naiba o fii…add file --> next -> next ->press commit -button > are you sure?! --> press ok button -> prompt screen “un unknown error occured while pushing your commit - windows crashed with below error: your pc needs to be repaired windows 0xc000000f”
:hugs:

poate sa iti dea blue screen si in timp ce faci commit din cli :troll:

In Windows 10 chiar nu am vazut blue screen, dar au alte probleme cu backup registri https://www.ghacks.net/2019/06/29/microsoft-explains-the-lack-of-registry-backups-in-windows-10/

Sourcetree. Îl folosesc cu succes, dar eu nu sunt programator, deci e OK :slight_smile:

CLI sau mid-way: ASCII UI în CLI cu Lazygit, mă scutește de tastat via shortcuts (deobicei deschis într-un panel de Terminal din file-browser).

Da la mine se pune mai puțin, în majoritatea cazurilor lucrez singur și folosesc pentru deployment + back-up.

Când intervin terți sau îmi prind urechile, SourceTree.

Eu unul sunt un sobolan de terminal. Nu pot sa folosesc git-ul altfel, deoarece nu mi se pare natural pentru mine. Singurele utilitare de GUI pe care le folosesc sunt: gitk ca sa vad mai frumos logul de pe branch si p4merge pentru conflicte.

La un alt loc de munca se obisnuia sa se foloseasca Sourcetree, iar de fiecare data cand trebuia sa se faca ceva mai complex desigur ca toata lumea ridica din umeri. Solutia? Programatorii copiau usor-usor cu Ctrl-C + Ctrl-V codul, renuntand complet la istoric si introducand buguri subtile datorate neatentiei la copy-paste.

GUI-ul ajuta, da. Dar mi se pare, cel putin pentru GIT, ca este complementar uneltei si nu ar trebuii confundat cu unealta sau sa inlocuiasca unealta.

1 Like

Un șobolan de terminal adevărat ar prefera vimdiff pentru conflicte și Tig pentru logs :troll:

Sau un alias drăguț (via):

git config --global alias.hist "log --graph --date-order --date=short \
--pretty=format:'%C(auto)%h%d %C(reset)%s %C(bold blue)%ce %C(reset)%C(green)%cr (%cd)'"

1 Like

Eu folosesc CLI in Linux de obicei cand ingheata UI, desigur am avut ocazia sa ma joc cu terminalul mult de-a lungul anilor.

Edit:
Am incercat SmartGit in Linux dar momentan in Linux folosesc git in linie de comanda, pe Windows, IDE Integration si Tortoise Git.

Pe linux folosesc doar cli pentru git, pe wingoz folosesc si cli, si TortoiseGit. cli cand e ceva mai sofisticat, dar pentru operatiile uzuale, TortoiseGit e suficient si comod.

De acum inainte tai gitk-ul de la GUI, mersi mult o sa-mi fie de ajutor :smiley:

Ai niște exemple de ceva mai complex care nu se poate face din Sourcetree?

Da, de exemplu pentru branchurile de hotfixuri se foloseau la greu cherry-pickurile si in SourceTree era mai greu sa faci cherry pick la commiturile x,y,z (sau la range-ul x…z) sau sa faci un rebase --onto interactiv.

Mie mi-e mai comod din linie de comanda, folosesc Pycharm doar la diff vizual mai fain.

Ne-am facut si niste shortcuturi:

adrian@adinuc:$ cat ~/.gitconfig

[alias]
lg = log --oneline --all --graph --decorate --color
pa = pull --ff-only --all
co = checkout
ci = commit
st = status
br = branch
hist = ‘log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short’
type = ‘cat-file -t’
dump = ‘cat-file -p’

De obicei rutina e:

git fetch --all -p
git br
git pull
git co -b branch-nou -t origin/branch-nou
git ci -m “…”
git rebase
git push -u origin branch-nou

4 Likes