Lazygit

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.พ. 2025
  • I showcase the tool lazygit with which you can manage your git repository. It can be spawned as a standalone tool or inside of Neovim.
    Lazygit: github.com/jes...
    Vim-Floaterm: github.com/vol...
    Delta: github.com/dan...
    My Neovim config: github.com/Dav...
    Contact:
    david.devonduty@gmail.com
    #Neovim

ความคิดเห็น •

  • @stoicfloor
    @stoicfloor 2 ปีที่แล้ว +32

    thank you so much david! The use of delta inside lazygit was a significant quality-of-life improvement! Just discovered delta and very happy with it! Thank you:)

    • @devonduty
      @devonduty  2 ปีที่แล้ว +3

      Thanks for this nice comment!

  • @JoshPeterson
    @JoshPeterson 11 หลายเดือนก่อน +2

    I love Lazygit. I've become a lot more confident and branched out with my use of git since adopting it last week. Before I would just save all my changes into one commit and then push, but now that I can see the changes I'm able to commit hunks, which I never knew was a thing before this. Now I don't have to worry about undoing massive changes if I need to make a tiny change, and I love it

  • @Kartoflaszman
    @Kartoflaszman 2 ปีที่แล้ว +8

    I've been using lazygit for a while now but you showed some new features that I'll definitely check out! Especially the diffing with delta looks awesome

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      Yeah, delta really produces high-quality diffs!

  • @farzadmf
    @farzadmf 2 ปีที่แล้ว +4

    Really LOVE lazygit and can't live without since I started using it. Thanks for sharing!

  • @mikaandrianarijaona8007
    @mikaandrianarijaona8007 2 ปีที่แล้ว +2

    Thanks @DevKnDuty, this was really interesting. I used to work with Neogit but I will git a shot to lazygit which has more features

  • @andiasar11
    @andiasar11 8 หลายเดือนก่อน +1

    Thank you so much, i've been looking for how to resolve config using lazygit and you explain it best 👍💯

  • @djsnipa1
    @djsnipa1 2 ปีที่แล้ว +4

    I use all neovim, delta, and neovim but never put them all together! This is fantastic!! Thank you!

    • @devonduty
      @devonduty  2 ปีที่แล้ว +2

      The power of composable software!

  • @friedrichwilken7942
    @friedrichwilken7942 2 ปีที่แล้ว +2

    Thanks for the great video. Watching your channel for quite a while now and just today noticed that we are actually colleagues. Keep up the great work.

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      Wow, that's awesome! Thanks a lot for this nice comment!

  • @nil70n
    @nil70n ปีที่แล้ว +2

    Hey bud, thanks for the content! I'm new to neovim, started with fugitive, which is great, but lazygit looks a lot easier and also powerful. I'll give it a try.
    After reading the comments, it's impossible for me to not imagine a combination of fugitive and lazygit. It would be amazing, even better than any git tool in the market.

  • @devonduty
    @devonduty  2 ปีที่แล้ว +8

    ... and much more Miauuuuuu 0:43

  • @florianhennig4778
    @florianhennig4778 2 ปีที่แล้ว +6

    Funny to hear that you switched to lazygit, I actually did exactly the opposite way, from lazygit to fugitive (and gitsigns).
    While using delta as a pager is pretty neat, I often find that it is just not really integrated well enough. For example when resolving the conflicts it shows the 'git style inline diffs' which I really don't like.
    Also a thing I really like about fugitive is, that you can use autocompletion in the commit buffer which is cool if you nee refer to stuff like ticket IDs in your comments or code.
    But I also have to say that I also use Gitkraken from time to time when I need to do a little bit more complicated stuff.
    Another thing to mention about lazygit is a great feature I haven't see anywhere else before: it is possible to do selective stashes in lazygit. So you can only stash or apply certain files from a stash. This is a thing I really miss in Gitkraken...

    • @devonduty
      @devonduty  2 ปีที่แล้ว +2

      That's very interesting! I totally agree that fugitive is a lot more integrated, so you have the same color scheme etc. However, for more complicated tasks, Lazygit is more powerful.

    • @laughingvampire7555
      @laughingvampire7555 ปีที่แล้ว +1

      to me it was the same the moment I saw the diffs in the patch format I thought, will that work with delta, I don't wanna giveup on delta.
      Magit & fugitive are amazing

  • @xdjiijii6543
    @xdjiijii6543 2 ปีที่แล้ว +4

    interesting tool, might use it in near future, great vid

  • @ho_artem
    @ho_artem 2 ปีที่แล้ว +3

    Wow, great channel, thanks for the content!

  • @cyberloh
    @cyberloh 2 ปีที่แล้ว +1

    great tool i didn't know. will using it for sure

  • @hug8095
    @hug8095 5 หลายเดือนก่อน +1

    very very helpful !

  • @Ebbzzor
    @Ebbzzor 2 ปีที่แล้ว +2

    Awesome! Thanks for upload

  • @NeverCodeAlone
    @NeverCodeAlone ปีที่แล้ว +2

    Very nice tool. Thx a lot.

  • @crandeng7364
    @crandeng7364 2 ปีที่แล้ว +1

    Awesome, So cool men!

  • @jotarokujo6099
    @jotarokujo6099 2 ปีที่แล้ว +5

    Lazygit is very cool. It's very user-friendly with the built-in help and HUD. I wish Neovim will be like that by default sometime in the future. For now you have to install which-key extension, that provides help for built-in actions.

  • @momq1434
    @momq1434 2 ปีที่แล้ว +2

    Cooooooool

  • @TJ-hs1qm
    @TJ-hs1qm 2 ปีที่แล้ว +4

    I was a tig guy before I went full on lazygit plus delta. But I still keep using tig.... as my alias for lazygit 😇

  • @RvBSimmons77
    @RvBSimmons77 ปีที่แล้ว +2

    Hello! Great video but I have a question for you. What plug-in is causing the pop up at 1:41 which is showing that it is expecting you add a closing bracket

    • @devonduty
      @devonduty  ปีที่แล้ว

      Thank you! The linting is done by the language server in the background.

  • @arvi8843
    @arvi8843 10 หลายเดือนก่อน +1

    What if you want to use commitizen when committing? 🤔

  • @CarloLobrano
    @CarloLobrano ปีที่แล้ว +1

    I like lazygit, however inside neovim there are alternatives that not only show diffs, but also gives you all the usual IDE support, like function documentation, references, definitions etc

    • @oluwapelumi.adeosun
      @oluwapelumi.adeosun 11 หลายเดือนก่อน

      Could you please clarify which alternatives you're referring to?

    • @CarloLobrano
      @CarloLobrano 10 หลายเดือนก่อน

      @@oluwapelumi.adeosun I was sure I had replied already, anyway
      I was talking about junegunn/gv.vim and sindrets/diffview.nvim, but also pwntester/octo.nvim or ldelossa/gh.nvim
      The nice pro is that being integrated in neovim they work nicely with LSP

  • @rdwok14
    @rdwok14 11 หลายเดือนก่อน

    TIL about delta. TBH it takes up a lot of horizontal space when I'm multiplexing with tmux but looks so much more understandable. May be obvious but I had to edit my ~/.config/lazygit/config.yml to have the git section you showed at 6:20. I'll be switching over from GitKraken to lazygit now (I have it aliased as lz in zsh).

  • @tinybandit5203
    @tinybandit5203 2 ปีที่แล้ว +2

    Love your content, I've been a long time user of lazygit, but the addition of delta brings it to another level

    • @devonduty
      @devonduty  2 ปีที่แล้ว

      Thanks a lot! I just followed the document here: github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md

    • @PellePedro
      @PellePedro 2 ปีที่แล้ว

      I had to use the path ~/.config/jesseduffield/lazygit/config.yml for the config file, to have delta working

  • @_luisald
    @_luisald ปีที่แล้ว +2

    nice video!! Can I use emojis with lazygit?

    • @devonduty
      @devonduty  ปีที่แล้ว +1

      I think so :)

  • @hglbrg
    @hglbrg 2 ปีที่แล้ว

    Just one thing: your commit message should say what the commit does (if applied) - not what you did. So if I build a feature, patch or release from a hundred commits from various developers (or even my past self only) I need to at a glance know what including this commit will do to the code base, I don't care what the individual developers were doing to achieve it. This has other benefits; if there is a bug I can easily see when it was introduced with good commit messages, if there is a feature I know is not quite ready for release I can omit the commits containing changes to that part of the codebase if the commits are clear and say what will happen to the codebase if they are applied.

    • @devonduty
      @devonduty  2 ปีที่แล้ว

      I'd say it depends what else you do. In my team, we organise commits in pull requests - and those should always represent what you want to achieve. In addition to that, we have a CHANGELOG file.

  • @seriouslyiknowhowtoread
    @seriouslyiknowhowtoread 7 หลายเดือนก่อน +1

    Question is lazygit async? so if I have it open does it automatically know this?

  • @aNotoriousPhD
    @aNotoriousPhD 2 ปีที่แล้ว +2

    is there an easy way to get it so that the diff shown in lazygit is split like you have it?

  • @trancongminh2628
    @trancongminh2628 10 หลายเดือนก่อน

    I facing issue bg not transparency when open float window in neovim but it worked by terminal

  • @UberRuthlessOld
    @UberRuthlessOld 11 หลายเดือนก่อน +1

    Hey, which font you are using?

  • @rollingc2013
    @rollingc2013 ปีที่แล้ว +2

    Hey, how have you got your changes to show side by side like that? I'm getting the default way

    • @devonduty
      @devonduty  ปีที่แล้ว

      Hi, I'm using the following config:
      git:
      paging:
      colorArg: never
      pager: delta --dark --paging=never
      github.com/jesseduffield/lazygit/blob/master/docs/Config.md

    • @devonduty
      @devonduty  ปีที่แล้ว

      and for delta, in ~/.gitconfig I use
      [delta]
      side-by-side = true

    • @rollingc2013
      @rollingc2013 ปีที่แล้ว

      @@devonduty thanks a lot. I have never heard of these options lol

  • @acampoverdeify
    @acampoverdeify 4 หลายเดือนก่อน +1

    what about neogit?

  • @adityasinha3669
    @adityasinha3669 2 ปีที่แล้ว +1

    One thing I love about fugitive is 3 panes to solve for merge conflicts… does lazygit also have that?

  • @TheNation2013
    @TheNation2013 2 ปีที่แล้ว +1

    Hi thank you for your vids . I am a nvim newbie and finding it hard to make nvim-dap work with php . I used to do debugging with Vdebug and it was working fine for me . Once i switched to nvim , i have to go back to vim for debugging . Do you have any exp with php ?

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      Thanks! Unfortunately, I don't have experience with debugging php in vim. But maybe the GitHub repo of nvim-dap has some useful info? github.com/mfussenegger/nvim-dap/issues/118

    • @TheNation2013
      @TheNation2013 2 ปีที่แล้ว +1

      @@devondutyThank you for the reply . I have following this thread but couldn't see light at the end . Thank you once more for those wonderful vids .

  • @ProjectileGrommet
    @ProjectileGrommet 2 ปีที่แล้ว +1

    How do you log into your GitHub to pull existing repos of yours?

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      You can provide a token to your git CLI.

  • @chadjaasofianne310
    @chadjaasofianne310 10 หลายเดือนก่อน

    hello, really liked the video, but, I am just wondering, how you could make lazyGit looks like this, I am using the default looking and I couldn't figure out how to change it, I want the changes panel to look exactly like the one you have here.

    • @devonduty
      @devonduty  10 หลายเดือนก่อน +2

      Hi, you can check out the configuration options here: github.com/jesseduffield/lazygit?tab=readme-ov-file#configuration
      You can also use Delta for the diffs.

    • @chadjaasofianne310
      @chadjaasofianne310 10 หลายเดือนก่อน +1

      @@devonduty thank you very much.

  • @PTan9o
    @PTan9o ปีที่แล้ว

    When you press 'e' to go to edit the file in your neovim instance, do you have some special configuration to make that work? Doesn't seem to work out of the box for me and I really want that functionality. I looked through your Neovim config on GitHub and didn't see anything that specifically configured lazygit to do that.

    • @devonduty
      @devonduty  ปีที่แล้ว

      Hi, indeed I had to change the command to open it in the current Neovim instance, however I don't remember the command to do that.

    • @PTan9o
      @PTan9o ปีที่แล้ว

      @@devonduty I found the place in your neovim config where you map leader g to LazyGit. I tried this and was successful in opening LazyGit in Neovim but pressing e doesn't bring me to the target file. It's opens the file in the LazyGit window. When you said you did some extra configuration, did you have to do anything outside of your neovim config?

    • @devonduty
      @devonduty  ปีที่แล้ว +1

      @@PTan9o Yes, I think that happened in the LazyGit configuration. Maybe you can check their repository on how to do that.

  • @bennypowers1386
    @bennypowers1386 2 ปีที่แล้ว +2

    can you post links to your configs please?

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      Sure, it's here: github.com/David-Kunz/vim

  • @offlercrocgod
    @offlercrocgod 2 ปีที่แล้ว +2

    The only thing it lacks is a good git blame workflow.

    • @devonduty
      @devonduty  2 ปีที่แล้ว +2

      This is true, for that I use git signs (which unfortunately doesn't allow navigating to previous commits).

    • @offlercrocgod
      @offlercrocgod 2 ปีที่แล้ว +1

      @@devonduty yeah but navigating to previous commits is a major feature to be missing from a blame workflow.

  • @mrlectus
    @mrlectus 2 ปีที่แล้ว +1

    How is your diff split side by side?

    • @devonduty
      @devonduty  2 ปีที่แล้ว +2

      This is a configuration of Lazygit, see here for more info: github.com/jesseduffield/lazygit/blob/master/docs/Config.md

  • @Redyf
    @Redyf ปีที่แล้ว +1

    Lazygit vs neogit, please make a video about it

    • @devonduty
      @devonduty  ปีที่แล้ว +1

      Hi, I've already made a video about Neogit: th-cam.com/video/aJikrPnTOtI/w-d-xo.html

  • @yookeunsik
    @yookeunsik 2 ปีที่แล้ว +1

    how to diff view like you? just default diff view in my case.

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      You can change it in the Lazygit configuration: github.com/jesseduffield/lazygit/blob/master/docs/Config.md

  • @kamalkamals
    @kamalkamals 2 ปีที่แล้ว +1

    push missing :)

  • @EpsilonKu
    @EpsilonKu 2 ปีที่แล้ว +2

    Pls, can you synchronize your channel on Odysee?

    • @devonduty
      @devonduty  2 ปีที่แล้ว +1

      I haven't heard of Odyssey yet, I'll take a look!

    • @EpsilonKu
      @EpsilonKu 2 ปีที่แล้ว +1

      @@devonduty Cool, Mental Outlaw and Distrotube already made video about it

  • @BraxtonMeyer
    @BraxtonMeyer 2 ปีที่แล้ว +2

    this looks like magit but worse...

  • @GregRippetoe
    @GregRippetoe ปีที่แล้ว +1

    The version control tool in Webstorm is much better

  • @r4k4210
    @r4k4210 2 ปีที่แล้ว +1

    Really nice!