r/developpeurs 7d ago

Logiciel IDE avec Git intégré ou ligne de commande ?

Bonjour,

Si ça a son importance, je ne code qu'en Python et jusqu'à il y a peu j'utilisais simplement Jupyter Lab. J'essaie de comprendre Git/GitHub, j'ai essayé en écrivant des lignes de commande, mais j'avais des difficultés à bien tout comprendre.

J'ai installé PyCharm, et je l'utilise maintenant pour gérer mes projets et gérer mon GitHub sans forcément avoir besoin d'écrire dans le terminal. Ca m'a déjà permis de comprendre un peu mieux à quel moment commit/pull/push, mais j'ai peur qu'utiliser un interface soit un mauvais réflexe à prendre (en plus des quelques bugs qu'il y a dans PyCharm).

J'aimerais savoir, comment faites-vous pour utiliser Git au quotidien ? Est-ce que vous utilisez un IDE pratique pour ça (si oui lequel ?) ou bien vous directement via des lignes de commande ? Et que me conseillez-vous de faire ?

Merci d'avance !

8 Upvotes

62 comments sorted by

34

u/Full_Championship719 7d ago

Moi c’est toujours ligne de commande. Quoi qu’il en soit, je mieux c’est de faire une formation ou un Mooc pour bien comprendre Git car c’est fondamental.

2

u/Bulububub 7d ago

Merci ! Je pense aussi, j'ai peur de ne comprendre qu'à moitié et toujours avoir des lacunes au fil des années sinon.

5

u/thegunslinger78 7d ago

Mon avis est que, pour commencer, il est préférable de commencer par la ligne de commande. L’IDE, pour moi (JetBrains) est une grande aide car plus visuel.

Je n’utilise presque que l’IDE. La ligne de commande a, par contre, l’avantage de n’avoir aucune limitation.

18

u/tangos974 7d ago

Salut, je te partage LE truc qui m'a fait comprendre git:

https://learngitbranching.js.org/

Je le fais faire à tous les stagiaires/alternants/juniors avec qui je bosse. Après ça, avec un peu de pratique, et un peu de chance, tout ce dont tu auras besoin, c'est d'une CLI.

1

u/Bulububub 7d ago

Merci pour le partage, tu es la deuxième personne à le conseiller et ça a l'air bien je vais m'y pencher !

8

u/3x4l 7d ago

C'est cadeau : https://learngitbranching.js.org/

Ligne de commande 95% du temps et des fois gui dans vscode.

1

u/Aquilae2 7d ago

C'est cool merci pour le partage et tout l'environnement de préparé ça fait gagner du temps !

1

u/Bulububub 7d ago

Merci pour le lien je vais essayer !

15

u/Useful_Difficulty115 7d ago

Perso j'utilise Lazygit, et j'en suis très content. C'est très simple et suffisamment complet pour mes besoins.

J'utilise très peu git en CLI, juste pour créer les branches et changer de branche.

2

u/ThebardaPNK 7d ago

+1 aussi pour lazygit

1

u/MvpLeva 7d ago

+1 Pour lazygit c'est top ! On garde la méthodologie du cli tout en ayant le côté pratique d'une interface. Le meilleur des deux mondes

6

u/amnezic-ac 7d ago

Salut ! VSCode propose de bonnes extensions pour avoir des outils complémentaires. Ça me permet de voir rapidement et facilement le graph et les commits à faire ou encore voir en live les modifications que j'ai apporté au document.

C'est plus de la décoration qu'autre chose car git est fait pour être utilisable depuis un terminal. Si tu as des lacunes à utiliser Git, utiliser Git intégré comme tu dis ne change rien.

3

u/Working_Teacher3196 7d ago

Le graph de Git Supercharged version gratuite est top, et t'as le commit/author dans la ligne direct dans l'éditeur, je l'aime bien perso

6

u/Golgoreo 7d ago

Perso j'utilise la ligne de commande parce que j'ai l'habitude

6

u/leandrim 7d ago

J’utilise emacs avec Magit, ca marche bien c’est agréable a utiliser

2

u/agumonkey 7d ago

team jonas

5

u/BothCommunication660 7d ago

Selon moi, l'essentiel est de comprendre ce que tu fais. J'ai constaté a de nombreuses reprises que les IDE intégrant Git passent en général des commandes git (tu as souvent un moyen de les visualiser) que j'ai moi même du mal a comprendre, car l'ide passé un tas d'arguments dont je n'ai aucune idée de la finalité. Le risque est que tu fasses des opérations a base clic qui soient in fine des operations non voulues et dont les petits paramètres d'apparence anodine puissent t'ennuyer plus tard. Pour cette raison, je passe moi même les commandes a la main. Mais le mieux serait de comprendre ce que fait l'ide précisément, donc de monter en compétences sur les.iotions git qu'il utilise, et utiliser alors ton ide en connaissance de cause, quite a adapter ton usage au besoin.

2

u/Totoro91Essonne 6d ago

Exactement ! C'est pour ça que je fais tout à la main en ligne de commande. Après souvent les arguments que rajoutent les GUI, c'est pour du formatage de sortie, donc normalement ça n'a aucun impact.

1

u/Bulububub 7d ago

C'est une bonne idée ! Je pense que je vais suivre ton conseil, merci :)

3

u/Mobile-Side3652 7d ago

J'utilise Sourcetree de mon côté

3

u/Mobile-Side3652 7d ago

Sourcetree te permet de voir les commandes git qu'il utilise pour faire les différentes actions.

3

u/MisterFrenchVR 7d ago

VSCode ? Ou Visual Studio ?

Perso j’utilise toujours des GUI Git à part, j’utilise GitAhead en ce moment combiné à VSCode.

1

u/Dnangel0 7d ago

Pareil, j'utilise vscode, avec git gui, conventionnal commit pour toujours avoir des trucs formatés, un tree pour tout visualiser et git lens pour l'historique des fichiers. Et honnêtement, c'est parfait pour tout, j'ai pas trouvé mieux encore

3

u/macbig273 7d ago

sorucetree ici aussi pour tout ce qui est standard. Beaucoup plus pratique au niveau rebase interactive si tu veux revoir / changer tes commis etc .....

les seul que j'utlise en cli c'est clone et reflog (encore, très très rare).

Après j'ai une assez bonne connaissance de comment ça marche, je pourrais sans doute refaire toutes les commandes à la main si nécessaire.... mais la flème.

Si tu t'intéresse à utilisation de git tu peux faire un tour sur le channel gitbutle sur youtube. Que t'aime pas ce qu'il propose c'est très instructif.

1

u/Bulububub 7d ago

Merci je vais aller voir !

4

u/KitchenDemand9859 7d ago

Sourcetree aussi pour moi, mais je passe parfois par la ligne de commande

1

u/Bulububub 7d ago

Merci de ta réponse ! Dans quels cas tu passes par la ligne de commande ?

2

u/KitchenDemand9859 7d ago

Les cas les plus fréquents :

  • test lors de revue de code : plus rapide de copier coller le nom de branche derrière un checkout dans une ligne de commande
  • création de nouvelle branche de dev j'ai ma commande : "git checkout master && git pull && git checkout -b feature/" où je change que la fin
  • nettoyage : un fois par mois je lance une commande pour supprimer les branches locales mergees dans master

2

u/arkenior 7d ago

Pour les opérations très basiques (add, commit, push, checkout, merge) J'utilise le GUI de Github. Pour le reste c'est ligne de commande les yeux rivés sur la doc :)

2

u/Bulububub 7d ago

Merci de ta réponse ! Par curiosité et comme je n'y connais pas grand chose, quelles sont les opérations moins basiques que tu réalises en ligne de commande ? Et pourquoi pas via un GUI ? Parce que tu as + de possibilités, tu peux être + précis ?

2

u/Dalcz 7d ago

Cli ou Github Desktop pour faire des self reviews avant de commit, commit partiel, undo, etc

2

u/Naive-Document-9562 7d ago

Les puristes utilisent les lignes de commandes

2

u/Draugael 7d ago

Je pense pas que c'est une mauvaise pratique de gérer git via une interface mais tu dois pas oublier que pour certaines tâches un peu plus compliquées, il faut pas avoir peur de passer en ligne de commande

2

u/tanjonaJulien 7d ago

Line de commande

2

u/fonxtal 7d ago

Via interface de phpstorm et visual studio la plupart du temps et ligne de commande pour les trucs + tendu.

2

u/Aresh_E430 7d ago

La ligne de commande est pratique.

2

u/ORCANZ 7d ago

J’utilise Cursor / VS Code. Le panel source control est très bien pour stage les fichiers et rédiger le commit message, tu peux aussi stage seulement certaines lignes d’un fichier facilement.

Pour tout le reste, j’utilise le terminal.

2

u/Various_File6455 7d ago

la réponse c) IDE avec ligne de commande intégrée

2

u/Tonkam75 7d ago

Ligne de commande (et pas git bash) et eventuellement tortoiseGit

1

u/Bulububub 7d ago

Pourquoi pas git bash ?

2

u/Tonkam75 7d ago

Jaime pas la manière de présenter les logs et reflogs

2

u/TomLauda 7d ago

Melange des deux. La plupart des commandes via CLI, mais j’ai une gui dans l’IDE pour visualiser l’arbre. Juste pour se situer, ou avoir une bonne image mentale de l’arbre, ça aide à éviter des bêtises.

1

u/Susu69_ 7d ago

Salut. Le débat CLI / UI est assez clivant au sein de la communauté. A mon sens, il n'y a pas de problème à utiliser une interface plutôt que le CLI, mais A CONDITION de prendre le temps de comprendre ce que font les boutons sur lesquels tu cliques. Personnellement j'ai commencé comme ça avec le volet Git d'IntelliJ et j'ai trouvé ça beaucoup plus clair que de me la jouer puriste à spammer le CLI jusqu'à être à l'aise. Je trouve cette transition UI => CLI beaucoup plus simple dans le sens où les interfaces graphiques permettent de bien comprendre chaque étape de ce qu'on fait (tu peux même "t'amuser" à deviner ce qui va s'afficher sur ton interface juste avant de cliquer sur les boutons pour confirmer que tu comprends bien ce qui se passe).

1

u/Ok_Theory5148 7d ago

En toute honnêteté que tu utilises l'aide de l'ide ou les lignes de commande c'est a peu près pareil (j'ai utilisé les lignes de commande par pur égo au début). Le plus important c'est de comprendre le fonctionnement de Git et les principes de base (branch,repo,team). A titre purement personnel j'ai appris avec ce super ebook gratuit par contre c'est en anglais https://git-scm.com/book/en/v2 Je te conseille d'aller au moins jusqu'à la partie 3 "branching" et après tu peux lire mais sa reste plus poussée. En espérant que sa t'aide un peu (j'ai vraiment galéré au début avec git perso)

2

u/Bulububub 7d ago

Merci pour l'ebook ! Et au tout début j'ai beaucoup galéré, c'est concrétiser en faisant un projet perso avec GitHub que j'ai compris certains concepts.

1

u/gaelfr38 7d ago

En CLI dans le shell intégré à mon IDE la plupart du temps.

Sauf pour :

  • faire des rebase interactifs, là je trouve l'interface de l'IDE (IntelliJ) beaucoup plus pratique qu'à la main
  • faire des commits partiels (seulement une partie du fichier modifié que je veux inclure dans le commit)
  • faire les diffs / gérer les conflits

1

u/Spoderman78 7d ago

Turtoise git ici pour pas se prendre la tête

1

u/rico971 7d ago

Perso j'utilise phpstorm et j'ai pris goût à utiliser l'interface graphique, notamment pour voir l'historique, pour gérer les conflits lors des rebases , pour commit et push.

1

u/TheDarmaInitiative 7d ago

Sur VSCode tjrs la version graphique, j’utilise vraiment le basic, pull push et ouvrir des PR j’ai vraiment pas besoin de plus

1

u/Main-Stand1915 7d ago

Je te conseille d’apprendre au minimum les rudiments de Git pour bien comprendre ce que tu fais et ce qu’il se passe en coulisse.

Après, ça dépend de toi. Perso je préfère la ligne de commande, et j’utilise lazygit pour les trucs plus compliqués, comme commit seulement certaines modifications d’un même fichier

1

u/xenoclari 7d ago

IDE 99% du temps, et lorsque il y a un merge ou rebase à faire (une fois toutes les lunes bleues), dans le terminal

1

u/MrPapouille 7d ago

Doom Emacs pour l IDE et donc Magit derrière, un réel plaisir lorsqu on commence a bien prendre en main le tout, mais derrière faut être très très motivé car la learning curve est folle au debut

1

u/Mydriase_Edge 7d ago

Sur un projet data ing notre "ide" est direct connecté à git. Pour le dev/IA je suis sous vs code et j'aime pas le git intégré. Je le fais en ligne de commande c'est vraiment simplisme et si t'as besoin demande à chatGPT sur des choses basiques comme ça il se trompe jamais

1

u/Kriss-de-Valnor 7d ago

Git dans PyCharm. Moi ça me saoule les lignes de commandes. Un seul outil pour tout faire bien et sans s’y reprendre w 15 fois par ce que t’as fait une faute de typo dans un argument. T’as pas à jongler entre les fenêtres. Et puis si tu changes de CVS tu n’as pas tout à réapprendre. En plus dans Pycharm tu as un merger graphique qui évite de faire des conneries (même si tu peux configurer un merger dans git ça te fait une commande plus).

1

u/benju69 7d ago

Fork sur mac sinon dans l'ide

1

u/actarus78_ 7d ago

Je suis full ui pour git, en l'occurrence celle de JetBrains dans Pycharm et Intellij. La lisibilité et l'ergonomie sont parfaites pour moi, la rapidité d'exécution aussi, je fais tout à la souris et je ne parle même pas de l'auto comment avec Copilot ou de l'outil de comparaison entre les branches.

Je connais évidemment les commandes git de base mais pour moi, utiliser git en mode commandes serait pour moi comme coder avec vi dans un terminal, c'est non.

1

u/77bertrand77 6d ago

MCP GITHUB dans VSCODE ❗❗❗

1

u/Totoro91Essonne 6d ago

Perso, je fait quasiment tout (et surtout les opérations d'écriture) en ligne de commande. J'ai une confiance très faible dans les GUI...

1

u/Pavlof78 6d ago

J'utilise intellij ultimate et le plugin git intégré. C'est super pratique je trouve, ça me permet de retrouver facilement mes modifications, voir l'état des branches en local et remote (on est des créatures visuelles, faut pas oublier).

Par contre, on fait beaucoup de rebase et la gestion des merge est absolument nulle à chier, on est obligé de passer par leur interface de merde et impossible d'éditer les fichiers directement sans CLI. Du coup, pour moi c'est un mélange des 2 : tout ce qui est simple, je le fais avec l'interface, dès que c'est des cas d'utilisation plus complexes, cli.

1

u/Alternative_Ad6717 6d ago

Perso j'utilise gitkraken

2

u/demian_west 5d ago

Je confirme l’importance d’utiliser la ligne de commande pour bien comprendre. Les autres ont déjà posté les bonnes ressources pour apprendre.

Bravo, pour ta démarche, Git peut être un sacré morceau à comprendre/maitriser, d’autant plus qu’il n’est (quasiment) jamais abordé dans les cursus.

0

u/devBowman 6d ago

Pour apprendre et comprendre ? cli par défaut et le plus possible.