I'm never using Git the same way again

Поділитися
Вставка
  • Опубліковано 8 січ 2025

КОМЕНТАРІ • 171

  • @mahirabbas3700
    @mahirabbas3700 11 місяців тому +102

    thanks nerd

  • @domojestic4155
    @domojestic4155 11 місяців тому +38

    I remember asking about Git integration during your Neovim setup tutorial; so cool you've decided to opt for a dedicated CLI program! Can't wait to watch this later.

    • @aarond309
      @aarond309 11 місяців тому

      I personally have a shortcut (gg), which opens a floating terminal with lazygit in it. it’s amazing!

  • @raphaeld9270
    @raphaeld9270 11 місяців тому +10

    This looks really nice, sort of like magit but as a standalone cli/tli instead.
    9:40 Though, I'm pretty sure that when you `git push --force`, you would rather want to use `git push --force-with-lease`.
    That will prevent overriding anything that you did not fetch before.
    That will help a lot when someone else pushed to your branch since.

    • @astronomer404
      @astronomer404 3 місяці тому +1

      I believe lazygit does use `force-with-lease` for forced pushes. Refer the `Command log` section in the bottom right at 9:43.

  • @jameshertz2461
    @jameshertz2461 9 місяців тому +2

    2:12 VSCode is great for merging merge conflicts ... I also like vim and git cli but I use VS Code to merge the conflicts

  • @tobiasl.4038
    @tobiasl.4038 11 місяців тому +11

    Really love that you print out the commands and shortcuts you are talking about !
    Especially as a non native English speaker

    • @typecraft_dev
      @typecraft_dev  11 місяців тому +1

      You got it! Thanks for being a member!

  • @therealslimaddy
    @therealslimaddy 11 місяців тому +14

    It’s an amazing tool, has surely enhanced my workflow.
    My cli setup lately has been (Zellij + lazy nvim paired with lazygit & lazydocker as floating window)

  • @sharperguy
    @sharperguy 11 місяців тому +3

    i used "git gui" for years which did something very similar but with a simple tk ui. Nice to have equally powerful TUI based options now.

  • @HeySeeri
    @HeySeeri 11 місяців тому +25

    Cool to see folks discovering UI's in 2024!

    • @67fabs
      @67fabs 8 місяців тому +2

      You mean TUI ? 😀

  • @alcb1310
    @alcb1310 11 місяців тому +25

    I liked lazygit and I would use it if I didn’t know fugitive. Personally I find that having your git gui inside your editor makes you much faster, but hey thats just me

    • @zephyrthesearchrescuedog8358
      @zephyrthesearchrescuedog8358 11 місяців тому +17

      You can have lazygit inside the editor too. Lazyvim adds this as a keymap which pops up a terminal right inside Neovim over top your buffer. -- lazygit
      map("n", "gg", function() Util.terminal({ "lazygit" }, { cwd = Util.root(), esc_esc = false, ctrl_hjkl = false }) end, { desc = "Lazygit (root dir)" })
      map("n", "gG", function() Util.terminal({ "lazygit" }, {esc_esc = false, ctrl_hjkl = false}) end, { desc = "Lazygit (cwd)" })

    • @aquepaique
      @aquepaique 11 місяців тому

      if you are using kitty terminal, you can map this for opening lazygit inside or outside neovim:
      map tab launch --type=window --cwd=current --copy-env lazygit

    • @sp3ctum
      @sp3ctum 11 місяців тому

      @@zephyrthesearchrescuedog8358 was about to comment this. It fits inside nvim nicely, and the workflow feels amazing.

    • @LeviNotik
      @LeviNotik 11 місяців тому +4

      This is exactly how I feel. Anything I *can* do in Neovim, I will do

    • @costelinha1867
      @costelinha1867 5 місяців тому

      @@zephyrthesearchrescuedog8358 Not to mention you can kinda run terminal commands inside neovim, which means you can probably just type "terminal lazygit" or something like that, and have lazygit pop up into another terminal buffer inside of neovim.

  • @dimitrisdrosos245
    @dimitrisdrosos245 11 місяців тому +2

    Great video. Will definitely use it in the future.

  • @SFFist
    @SFFist 11 місяців тому +1

    You can hit O to create a PR as well. It will open a browser with all fields filled

  • @fabianmallmann4834
    @fabianmallmann4834 8 місяців тому +1

    How did this channel become my favorite in just one weekend?!

  • @ammarmerakli
    @ammarmerakli 11 місяців тому +7

    Love the content. If you combine it with git delta, you get a fancy diff like vs code

    • @typecraft_dev
      @typecraft_dev  11 місяців тому +2

      I'll have to look into that!

    • @jd4rce
      @jd4rce 11 місяців тому

      I've been using delta, and it is beautiful, pure perfection 🥹

    • @erlonpb
      @erlonpb 11 місяців тому +1

      very well remembered! I use delta too :)

  • @KuzyoYaroslav
    @KuzyoYaroslav 11 місяців тому +2

    Curious to hear your thoughts on Neogit. Have you tried it yet?

    • @typecraft_dev
      @typecraft_dev  11 місяців тому

      I'll have to check that out!

    • @theherk
      @theherk 11 місяців тому

      It is very good. Especially for emacs transplants as the interface is very much like magit. But I prefer to use git outside my editor so I use lazygit and sometimes gitui or cli.

  • @ColinFox
    @ColinFox 10 місяців тому +19

    "I've been a developer for a long time. 12 years.". Jeez man - I've been a professional developer for 38 years. What does that make me? Prehistoric? :D

  • @VinitKhandagle
    @VinitKhandagle 11 місяців тому +1

    you are one the best person that explains a topic!!!

  • @TomSoraoka
    @TomSoraoka 10 місяців тому +1

    Totally agree that merge conflicts are the only thing I dislike doing from command line. It's difficult to visualize the conflict looking at +++, ---, >>>, and

    • @typecraft_dev
      @typecraft_dev  10 місяців тому

      Yes it’s really a great tool! And the commands are really easy to remember/discover

  • @whaisonw2865
    @whaisonw2865 11 місяців тому +2

    I am currently learning vim motion to ultimately switch to vim. But for now I am jusing the intellij ides and the git tool really is best in class. No need to leave the editor and the merge conflict resolve tool is just the best. Good that you showed that tool. I'll definetly use something like that when switching

    • @ghosthunter0950
      @ghosthunter0950 11 місяців тому +1

      the vim motions alone are already a massive upgrade. Learn them well for now, you don't have to switch yet or even at all.
      But I wouldn't use any editor without vim motions, thankfully pretty much anything I want to use supports it.

  • @climbing-this-wall
    @climbing-this-wall 11 місяців тому +1

    Big fan of LazyGit - thanks for covering this

  • @phaberest_
    @phaberest_ 11 місяців тому

    It also integrates gitflow perfectly, it's a true beast! I found it as part of a neovim distro I installed (can't remember which but it ran in toggleterm) and fell in love with it

  • @pkt4582
    @pkt4582 5 місяців тому +1

    Thanks

  • @TobyMole
    @TobyMole 11 місяців тому +1

    A cool tool no doubt. And whatever works for you works for you. But I do struggle with the idea that switching from the cli window to a git app window (a mouse click or key shortcut) breaks flow any more or less than switching between a cli editor tool to a cli git tool (~two keyboard interactions).

  • @tinotaylor
    @tinotaylor 5 місяців тому

    I definitely think that this is where IDEs shine. I haven't felt comfortable using vim for git conflicts and this still looks like quite a lot of steps in comparison.

  • @krkngd-wn6xj
    @krkngd-wn6xj 11 днів тому

    I've been a CLI git user forever, and intend to stay that way. But my one big issue was always merge conflicts, all neovim options feel clunky to me. Right now, I have VS Codium installed just for really ugly conflicts, but this video made me really want to try lazy git. Who knows, it may even get me away from only using my CLI, lol.

  • @ptim-br
    @ptim-br 17 днів тому

    > "more I use it the better it gets"
    Completely agree! Interactive rebase has never been smoother 🏆

  • @misterkite
    @misterkite 5 місяців тому

    I've been using Linux for 30 years now, and it's a bit funny how I'm still basically using the same classes of command line tools, it's just that they're seriously polished these days. Back in the day my programming environment was cvs/screen/bash/vim, today it's lazygit/tmux/fish/helix.

  • @ChrisNoesen
    @ChrisNoesen 11 місяців тому +1

    Great video...and neovim series. How did you get the same colorscheme (catppuccin) as your neovim? I only have the default lazygit colorscheme. Thanks!

  • @joyQuery
    @joyQuery 11 місяців тому +2

    great video -- just a heads up your sound/volume isn't consistent -- sometimes the sound levels go up and then back down

  • @doloreslaflipoflopo2746
    @doloreslaflipoflopo2746 3 місяці тому

    Would you mind sharing which fonts and theme you're using?

  • @KeithGyarmati
    @KeithGyarmati 9 місяців тому

    This is awesome! I typically use gitkraken if I get a really gnarly merge conflicts via the command line.

  • @walis85300
    @walis85300 11 місяців тому +1

    thanks a lot, I integrate lazygit into nvim using floatterm. It is pretty cool indeed, I don't want to lose my buffers and I don't want to integrate new plugins for save the current buffers or something (maybe that can be a new video for you nvim series)

  • @PJo336
    @PJo336 11 місяців тому +1

    Haha damn just today I was struggling to fig out how to create a new branch in lazy git and you literally show it in the first 30 seconds. Instant upvote

  • @GertCuykens
    @GertCuykens 10 місяців тому

    Very well tutorial, thank you. My only small suggestion would be to rebase the other way around 'main' onto 'debuging-baby' in your tutorial just because its the more common rebase you encounter

  • @NanoTecked
    @NanoTecked 11 місяців тому

    omgodness thanks for that video i finnally faced the scared (to me) conflicts, what a easy way shows this video :D

  • @ivanheffner2587
    @ivanheffner2587 9 місяців тому

    I just have one question: can you edit a staged hunk (or edit a hunk as it is staged) without applying that edit to your worktree? If you’ve never used `git add -p` and then used `e` to edit a hunk then you may have no idea why this would be useful. This is the one feature I have never found in any git GUI and so I have never found a git GUI that I like better than the CLI. I’m not quite sold on the merge conflict resolution, but this seems to at least have potential. I’ll definitely be taking a close look at it.

  • @Zippythrone
    @Zippythrone 9 місяців тому

    Hey, I see that you are also running right prompt in your ternimal with powerlevel10k. I am wondering how do you solve the bug when resizing the terminal windows or using tmux's split panes?

  • @bladeboles9167
    @bladeboles9167 11 місяців тому +1

    Great video, glad to see other people as excited as I am about lazygit! I'm in the same boat, learned git using the cli and never liked gui git tools except for conflict resolution. Lazygit makes that super easy, plus the design and user experience overall is fantastic. Everyday git tasks feel like they take 0 effort. I honestly think it looks gorgeous too 😅

  • @murtadha96
    @murtadha96 10 місяців тому

    Lazygit is one of the best TUI tools out there, it's truly awesome!

  • @anon_y_mousse
    @anon_y_mousse 11 місяців тому

    I don't know if I need to upgrade my Go installation, but it seems like every single project written in Go that I've tried in the past few months has failed to build for one reason or another. Oh well, par for the course with me. I fail often when building others' projects even when the build instructions are ./configure && make. I wish I could blame them, and sure, sometimes it is the maintainer's fault, but often times it's because my system lacks this or that or I've set something up wrong or missed a step before attempting to build.

  • @ThsHunt
    @ThsHunt 11 місяців тому +2

    I have a question i want to push my commits but its asks password is there a way to get around it

    • @typecraft_dev
      @typecraft_dev  11 місяців тому

      That definitely has something to do with your git config. Check ~/.gitconfig

    • @ThsHunt
      @ThsHunt 11 місяців тому

      @@typecraft_dev idk about .gitconfig

  • @qwerasdfhjkio
    @qwerasdfhjkio 11 місяців тому +2

    thanks! very useful, only feedback is that the music sometimes is too loud and for someone who is not a native english speak its sometimes hard to understand you because of the volume

    • @typecraft_dev
      @typecraft_dev  11 місяців тому

      Noted! we're still tweaking our process thanks

  • @filippzakharov1378
    @filippzakharov1378 11 місяців тому

    I was about to go to sleep, feeling really tired, but as soon as I've seen a new video on your chanel I just watched it and it is really nice end of the day to get familiar with this soft. Thanx!

  • @siliconmeadow_yo
    @siliconmeadow_yo 2 місяці тому

    Thank you for this - I've just found lazygit too, and am of the same thinking. Having been a git user for 15 years now the command line always works best. Until... merge conflicts.
    While watching your video though, and at about three and a half minutes in, I realised there was background music. Once I notice that in an instructional video, it distracts me. Why do you have a music soundtrack going on in the background? Genuine question. I'm probably just an outlier who doesn't understand.

  • @KevinOMalleyisonlysmallreally
    @KevinOMalleyisonlysmallreally 6 місяців тому

    I am a complete newb, but I'm trying to move away from things like vscode. Can you please do a tutorial on setting up lazygit to work with ssh-keys and github? Thank you

  • @mntmnt3108
    @mntmnt3108 11 місяців тому +2

    3:40 music is too load over all :/ besides that, nice video

    • @typecraft_dev
      @typecraft_dev  11 місяців тому +1

      good feedback we'll fix on the next one. thanks!

  • @matteostara
    @matteostara 11 місяців тому +3

    I love LazyGit but I cannot figure out how to sign commits successfully so I can't really use it at work 😢

    • @derpenstocks
      @derpenstocks 11 місяців тому +3

      it doesn’t just use the key in your gitconfig?

    • @typecraft_dev
      @typecraft_dev  11 місяців тому +5

      Yes, under the hood LazyGit just runs git commands. If you have a signing problem it might be an issue with the config. (I use LazyGit at work and have to sign my commits. it works just fine)

    • @matteostara
      @matteostara 11 місяців тому +2

      I get an odd UI issue when I try to and the password ends up not being valid.
      Maybe it's my terminal, I use Alacritty.
      Definitely not my config, I use it fine everywhere else.
      There is also an open issue in the repo, issue 30 which is what I'm talking about 😅

    • @matteostara
      @matteostara 11 місяців тому

      If you go over LazyGit repo and look at opened issue #30, that's what happens

    • @derpenstocks
      @derpenstocks 11 місяців тому

      @@matteostara dang, seems pretty important

  • @joergw
    @joergw 11 місяців тому +1

    UA-cam algorythm is sometimes scary: this is the *third* video about LazyGit in my home feed, although I never heard about it before 🤔

  • @bison_42
    @bison_42 11 місяців тому +1

    CLI user discovers a GUI ^^
    Jokes aside, cool tool. I use git in a wild mix of cli and multiple GUI tools. This might just be added to the toolbox, thank you 💖

    • @DanWalshTV
      @DanWalshTV 3 місяці тому

      This is not a GUI, it's in the terminal, which would make it a TUI.

  • @SamiullahKhan
    @SamiullahKhan 10 місяців тому +1

    Lazygit is great but sorry not with merge comflict, if i want to accept both changes, it must be done by manualling editing file, i am lost there. this is very well managed by VSCode no other tools are there yet.

  • @thsem
    @thsem 11 місяців тому

    Can we get playlist of making our own dotfiles after nvim completion?? BTW, great video

  • @j1d7s
    @j1d7s 11 місяців тому +1

    Thanks for another great video! I like to stay in the command line, use tmux and neovim and in fact already installed and occasionally used lazygit. One thing I did not use it for were rebases, I initiated these one via the command line and edited the conflicts in neovim. Next time I will try how it works in lazygit. I think I did not give it enough time, thanks for the encouragement.

    • @typecraft_dev
      @typecraft_dev  11 місяців тому

      heck yes! it has a bit of a learning curve but its awesome in the end. Thanks for being a member!!!!

  • @laggedskapari
    @laggedskapari 11 місяців тому

    Bro's vid hits the spot!

  • @ShaunEk1
    @ShaunEk1 10 місяців тому +1

    Although I think there are better git ui programs out there, this one is pretty rad if you are obsessed with cli or, as I have it, integrated into my neovim.

  • @gabrielbeaudin3546
    @gabrielbeaudin3546 11 місяців тому +1

    I was using Magit so far but you got me interested in trying it out. Great video

    • @gabrielbeaudin3546
      @gabrielbeaudin3546 11 місяців тому +1

      I ended up switching. I do lot more atomic commits since then instead of just on big commit. thanks

  • @stuvius
    @stuvius 10 місяців тому

    This made me try lazygit and it’s honestly amazing

  • @casadogaspar
    @casadogaspar 11 місяців тому

    git commit -am "chore: learning about new git cli with Ted Lasso"

  • @phortheman
    @phortheman 9 місяців тому

    There is also lazydocker and that is also very awesome!

  • @sebastianmangelsen8056
    @sebastianmangelsen8056 11 місяців тому +1

    I can not agree more with your opinion. Lazygit helps to save my most complex days when solving git merge conflicts.

  • @s-xatya5088
    @s-xatya5088 11 місяців тому

    Man can u make a video about setting up Refactoring plugin like moving file, renaming file, ...?

  • @tenminutetokyo2643
    @tenminutetokyo2643 8 місяців тому

    If you're using a Mac, the Versions app is the only game in town. Everything else is overly complex. It's simple and clean and it also supports subversion.

  • @codeman99-dev
    @codeman99-dev 10 місяців тому

    Seems awesome. Probably will stick with `tig`.

  • @irlshrek
    @irlshrek 11 місяців тому

    What's that intro song?

    • @typecraft_dev
      @typecraft_dev  11 місяців тому

      Youth - by ANBR -- we use artlist.io for music and this just fit so well!
      ua-cam.com/video/zYVDXffXNVI/v-deo.html

  • @DeathSugar
    @DeathSugar 11 місяців тому +1

    gitui has better performance on bigger repos, but lack ability to work with signing commit

  • @MrSchmichri
    @MrSchmichri 10 місяців тому

    exactly what i was looking for

  • @utvikler-no
    @utvikler-no 11 місяців тому +3

    Just in time my friend.. ❤

  • @VANTYCSolutions
    @VANTYCSolutions 11 місяців тому +2

    Awesome tool thank you for sharing?

  • @duckmcduck007
    @duckmcduck007 10 місяців тому

    It does looks really cool, for merge conflicts however, you do realise that that is the default way to resolve them with regular git? I.E. just open the conflicted file in your editor/neovim search for ===, and delete the lines you don't want. I use an alias mg="!$EDITOR $(git ls-files --unmerged | cut -f2 | sort -u) -p" to open each conflicted file in a tab neovim. \o/ No need to use a "merge tool" like vimdiff

  • @islam9212
    @islam9212 11 місяців тому +1

    Nothing better than emacs with magit !

  • @manee427
    @manee427 11 місяців тому +1

    Amazing content

  • @vikingthedude
    @vikingthedude 11 місяців тому

    I’ve been happy with Sublime Merge for a long time. Anyone here who has switched from sublime to lazy git?

  • @surfingbilly9654
    @surfingbilly9654 10 місяців тому

    At this point you might as well download vs code and use it. neovim users amaze me with pretty much making their own IDE in the terminal.

  • @TomSoraoka
    @TomSoraoka 10 місяців тому

    I don't think several people realize how Lazygit (and/or Neovim) is impressive. They are impressive because they provide all these features in a terminal window. No GUI. It uses ASCII characters to simulate graphics. So, do not compare these tools to IntelliJ or any other tool that cannot run in a terminal window.

  • @PetrenkoAndrii
    @PetrenkoAndrii 11 місяців тому +2

    I'm first to comment! Happy to see new video from you! And a plugin, that I voted for :) Thanks!

  • @danielvrsek8370
    @danielvrsek8370 11 місяців тому

    Sourcetree?

  • @Redyf
    @Redyf 11 місяців тому

    Your videos are great

  • @cloudboogie
    @cloudboogie 10 місяців тому +1

    Never understood the need to use anything besides git cli. Why would you use any of that crappy UI?

    • @CripplingDuality
      @CripplingDuality 9 місяців тому

      The only thing a UI is good for is resolving merge conflicts, which are anyway a thing of the past if you're doing CI/CD.

  • @altkev
    @altkev 11 місяців тому

    When you love the CLI too much.

  • @imag1ne852
    @imag1ne852 9 місяців тому

    wow, lazy git is amazing for gui terminal like

  • @technocoh
    @technocoh 11 місяців тому

    IntelliJ has it all out of the Box...

  • @fredericoneto1984
    @fredericoneto1984 11 місяців тому +2

    Can we all agree that a UI is actually useful for some git operations.. damm people doing everything to run away from vscode

    • @Grunkle_Stanley
      @Grunkle_Stanley 11 місяців тому

      Actually linus torvals itself said in a talk in google that git is just a backend that made to be used with another ui tool... that's why it has sophiticated apis

  • @greendsnow
    @greendsnow 11 місяців тому

    ooo... but I thought using Git ui was frowned upon

  • @olivierbegassat851
    @olivierbegassat851 10 місяців тому

    1:52 now I get it !!!1! 😅

  • @robertshuxley
    @robertshuxley 11 місяців тому

    still would rather use a Git Client with a GUI like Fork, Git extensions or Sourcetree

  • @WoWUndad
    @WoWUndad 11 місяців тому +2

    theres plenty of modern visual github programs, yet you go with the terminal text thing that looks like appropriate for 1980

    • @theherk
      @theherk 11 місяців тому

      What’s wrong with using the terminal? I try to leave as rarely as possible. And it is a bit telling that you called them “github” programs.

  • @G311X
    @G311X 11 місяців тому +2

    Turn background music volume down, i will appreciate.

  • @envdev
    @envdev 11 місяців тому +1

    More VIM content!

  • @mdmusaddique_cse7458
    @mdmusaddique_cse7458 4 місяці тому

    Thanks!

  • @yoshidis4
    @yoshidis4 8 місяців тому

    Looks exactly like Sourcetree

  • @olexiilysenko2544
    @olexiilysenko2544 6 місяців тому

    Thank you for the awesome video! I like the lazygit, it is very useful when you're getting familiar with it. But I have an issue: from the very beginning it was working well, but then I start observing in the preview window the 'WARNING: the terminal is not fully functional'. I've tried to find the info how to fix it, but nothing works for me. I'm on macOS, using zsh/Warp/tmux/neovim. I've already tried to add
    "set -g default-terminal "xterm-256color"
    set -g terminal-overrides ',xterm-256color:RGB'
    "
    im my .tmux.conf, and
    "vim.env.TERM = "xterm-256color"
    "
    to init.lua and
    "export TERM=xterm-256color
    "
    to .zshrc (and source it after saving) files, but nothing works((
    Is there a solution for this issue, it cuts the big part of usability for me in lazygit. Would be grateful for any advice...Thanks.

  • @Abdelmounim-edraak
    @Abdelmounim-edraak 5 місяців тому

    the music is too loud

  • @WinterWeaver
    @WinterWeaver 11 місяців тому +2

    Any magit users here?

  • @bolcheviking
    @bolcheviking 11 місяців тому +1

    Oh yes, good bye my "git add ." days!

  • @ruslangabitov5202
    @ruslangabitov5202 11 місяців тому +2

    It's funny to hear from somebody "I've been developing software for a long time, 12 years" while I developed my first commercial system in 1992.

  • @duznt-xizt
    @duznt-xizt 11 місяців тому +1

    nah i think ill stick with my gitkraken 😋

  • @petes4620
    @petes4620 11 місяців тому

    Not confusing at all 😂

  • @QuAzI_NODE
    @QuAzI_NODE 11 місяців тому +1

    Try Tig

  • @devarshihazarika4871
    @devarshihazarika4871 11 місяців тому

    over hyped for the sake of making videos

  • @plebiannn
    @plebiannn 10 місяців тому +1

    lazygit

  • @khanra17
    @khanra17 11 місяців тому +1

    Over done audio.
    Just to make the voice deeper, you suppressed the mid & high frequencies so much that you no longer sound like "natural human".

    • @typecraft_dev
      @typecraft_dev  11 місяців тому +2

      good feedback! we're tweaking and learning things

  • @horrorcoder
    @horrorcoder 8 місяців тому

    This is just version control, if it takes more that 15 minutes to understand it it is a waste of time and poorly designed.