Git Better Than 95% of People

Поділитися
Вставка
  • Опубліковано 9 чер 2024
  • Lazy Git is my new buddy when it comes to anything beyond pull/push/commit. I combined it with Tmux for extra sweetness, and in this video I cover the main features, motions, and the why & how I use it.
    ▶ github.com/jesseduffield/lazygit
    ▶ github.com/omerxx/dotfiles
    Best ways to support this channel:
    🎓 My course: learn.omerxx.com/courses/seco...
    📰 Become a better engineer in just 3 minutes a week: newsletter.omerxx.com
    ⌨️ Tech I use: kit.co/omerxx/my-battle-station
    ⏱ Timestamps
    00:00 - Intro
    01:05 - Fugitive
    02:05 - LazyGit
    06:14 - Work Trees
    07:40 - Comparing Commits
    08:15 - My Setup
    #productivity #git #terminal #neovim #vim #system #program #dev #devops #software #sysadmin #sysops #linux #macos #unix #console #cli #keyboard #commandline
  • Наука та технологія

КОМЕНТАРІ • 69

  • @devopstoolbox
    @devopstoolbox  4 місяці тому +3

    Become a better engineer in just 3 minutes a week: signup.omerxx.com

  • @kesor6
    @kesor6 4 місяці тому +27

    In fugitive, you can show diff using "=" and stage specific lines with "s", including a visual selection of multiple lines. I didn't check, but I assume that using "5s" to stage the next 5 lines should also work. And of course "cc" in fugitive creates commits from the staged files.

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +7

      Huh! Going to try this right now...

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

    what a amazing video!!! loved the way you have edited the video. I am sure that must have taken a lot of time to edit it

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

    Amazing video always improving my workflow thanks to you

  • @infrofl6557
    @infrofl6557 4 місяці тому +4

    Very cool video! Lazygit actually adds some unnecessary overhead to my workflow. I found that in a project using git flow, fugitive is more than enough to do anything you need (stage, rebase, reword, squash, cherry-pick, diff merge, etc). Bysect and reflog are so rarely used that it doesn't make a lot of sense to add another tool on top of fugitive

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +3

      Thanks! I tend to agree. But many devs would rather have some kind of UI and lazy git is a perfect solution for that.

  • @christopher8641
    @christopher8641 4 місяці тому +3

    one thing I adore about git is that its usefulness extends WELL beyond software. Really, any plaintext on a computer becomes perfectly paired with git after you understand a handful of concepts. Of course, a lot of plaintext on computers is written by devs. But, I'm sure at least a tiny bit is not

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

      This is 100% true!! I’ve been using it to snapshot my second brain lately so your comment is spot on. A version control system is an amazing solution for so much more.
      That said, it has its dark corners :)

    • @daddyDangle
      @daddyDangle 4 місяці тому +1

      @noboilerplate plain text team

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

    I’m seeing a lot of… idk like - low quality comments here showing a lot of ‘poor form’ or just crappy feedback so I figured I would try and even it out.
    Loving your content man ❤. I’ve been following you for quite some time now and I really enjoy the content you put out.
    Video ideas: perhaps a way to structure your neovim config itself, (like the actual configuration) in such a way that it’s completely aimed at optimising loading time and the on the fly performance.
    Got quite a shitty work laptop, and although I have built a couple iterations of a config I found it often times get hitches or awkward bugs that I really shouldn’t be getting lol. So have started building a third iteration from scratch that’s purely focused on optimising both load time and any/all of those performance hitches out of the way. Be interesting to see an active devs perspective on something like that.

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

      Thanks man! I appreciate the kind words, it means a lot and that's the best form of thank you any creator can get so THANKS again ❤
      As for the idea, I had the same thing around for some time but you gave me an additional angle I didn't think of and I'll try to make something that answers that soon!

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

    Super cool video. Lazygit is awesome!

  • @niksingh710
    @niksingh710 4 місяці тому +3

    Maybe too much to ask but can you create a git tutorial playlist?
    I mean with time we pickup something that we don't feel much about so if you can share them.

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +1

      I get that, I’ll do something better but it’ll take me some time - going to make a video picking one with all the reasons of how and why I’m using it - or a combo of a couple…

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

    In fugitive do `:Git` and then in the menu open a file with `i` to see the change. Then you can do a visual line selection (`Shift+V`) and select lines. Press `-` to stage only the selected lines. This is the same as what you are doing with LazyGit at 2:51
    Thanks for the video

  • @mrfsher894
    @mrfsher894 4 місяці тому +3

    Did you try neogit already? I liked it more than fugitive and the development is super active

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +1

      Just a bit, didn’t get to cover it yet. How would you compare it to fugitive and lazygit?

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

      You are actually using your editor to work with git, even though you can open lazygit in float terminal the feel is not the same. It has support of diffview.nvim and you can easily view an resolve merge conflicts. Rebase, and commit logs everything is in place. Active development.

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

      It is very close to fugitive but has diffview integration. It is also more easy for beginners, since they show the keys to press, which is really helpful in the beginning. I still have a few more keystrokes than in lazygit, which i truely loved, but the fuzzying over branches is nice too.
      In the end i just truely feel i can do everything with it. With lazygit I never felt comfortable doing rebasing​@@devopstoolbox

  • @jemag
    @jemag 4 місяці тому +1

    Interesting. Personally prefer using the combo of gitsigns, Neogit and Diffview. Both gitsigns and Neogit can stage specific lines

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +1

      Yep I know the option. Maybe I should make a video about it too…
      I’m using fugitive for 99% of my stuff.

    • @noomondai
      @noomondai 4 місяці тому +1

      Fugitive user here, would be interested in seeing a vid gitsigns + neogit usecase, cheers!

  • @SirJagerYT
    @SirJagerYT 4 місяці тому +1

    How do i get that floating command line prompt ui ? What is that plugin

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +1

      Checkout noice.nvim by folke !

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

      @@devopstoolbox Thank you !

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

    What terminal is that? I use iTerm 2 and copy your config file for tmux and does not look like that

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

      I think we talked on Twitter but if anyone else reads this - Wezterm!

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

      yeah, thanks @@devopstoolbox

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

    Stopped using lazygit and fugitive in favour of Neogit, has everything I need for day to day job.

  • @Danielo515
    @Danielo515 4 місяці тому +2

    The problem with lazyGit rebase things, is that it uses the same confusing wording as git does. Instead of saying `you want to Squash xxxx on top of yyyy` it says `into previous one`, which one is the previous one? The one below or the one above? is the list I see in reverse order?

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

      I can agree to a certain degree. Git is definitely confusing and an interactive rebase is one my least favorite things about it.
      I don’t think changing the lingo would contribute to the user but make things worse.
      I understand where you’re coming from tho

    • @Danielo515
      @Danielo515 4 місяці тому +1

      @@devopstoolbox I'm quite bad at remembering "binary" related decissions. If there were three states, then maybe I could remember, but when rebasing I can never remember what is previous and what is next: they are top to down? Or bottom up? I wish they use a horizontal layout and then just use right and left... or at least use below or above...

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

    Time to give lazy-git a try.

  • @brentsteyn6671
    @brentsteyn6671 4 місяці тому +1

    Lazygit is very cool and to get start fast as new neovim user. For me know fugitive is way better, because I created my on custom ui in nvim that is way more intuitive and less convolute then Lazygit.

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

    Ice picks are aid

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

    i use default color scheme btw

  • @x1x2x125
    @x1x2x125 4 місяці тому +1

    have you read danluu's bog post on how being better than then 95% of people in a discipline is not that impressive. let alone being better than 95% of the world. most people in the world don't even practice the skill that you are practicing, so it's not a fair comparison. if you can write basic programs and python your better than like 95% of everyone because most people don't write python, so you're good at something that barely anybody does. congratulations

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

      Hi! The “95%” others mean other git users, but that sounded less interesting. But thanks!

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

    the video should have been 18 minutes hahah

  • @stillWonderingWhyMe
    @stillWonderingWhyMe 4 місяці тому +2

    Imagine being a software developer and being better than ONLY 95% of the people in the world. Considering that probably more than 99% of the people in the world don't even know `git clone`, that's an extremely poor performance :D

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +2

      😆
      I see the same comment repeating - so, yeah, true :) the idea was 95% better than other Git users not the entire earth population (although that makes it easier 😆)

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

    git gud

  • @RuanSilva-kk1gq
    @RuanSilva-kk1gq 4 місяці тому +1

    first

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

    Bro really said fugitive is for "your IDE" while being misleading and simultaneously calling Vim an IDE 😂 Why not show Emacs's Magit? Oh wait ;)

  • @danielvergara9890
    @danielvergara9890 4 місяці тому +2

    I really miss your old format, now you're starting to look and sound like every disgusting "get ahead of 90% of people by doing this" content creator out there. You're better that that.

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

    ...pretty sure at least 95% of the world's population does not use git

    • @devopstoolbox
      @devopstoolbox  4 місяці тому +1

      Yeah, 95% of git users wasn’t as appealing 😅

    • @KRIGBERT
      @KRIGBERT 4 місяці тому +1

      @@devopstoolbox ah, yeah, I can see that :)