I'm never using Git the same way again

  Рет қаралды 81,866

typecraft

typecraft

Күн бұрын

X: / typecraft_dev
In this episode, we're reviewing a game-changer in how I work with Git every day. I've dropped the obvious GUI choices for Git and Github CLI - welcome to Lazygit. From the simple things like committing and pushing to the dreaded merge conflicts, Lazygit will keep you in that flow state. Lazygit is an unbelievable tool that I think everyone will love.
github links:
github.com/jesseduffield/lazygit
chapters:
00:00 Introduction
00:59 Why not Git CLI or a GUI
02:27 Installing Lazygit
03:37 Lazygit interface
04:30 Staging a File
05:51 Creating a new branch
06:28 Committing a file
06:55 Pushing a commit
07:15 Rebase
07:53 Resolve conflicts
10:37 Thanks Jesse!
10:59 Outro

Пікірлер: 156
@mahirabbas3700
@mahirabbas3700 4 ай бұрын
thanks nerd
@domojestic4155
@domojestic4155 4 ай бұрын
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 4 ай бұрын
I personally have a shortcut (gg), which opens a floating terminal with lazygit in it. it’s amazing!
@bladeboles9167
@bladeboles9167 4 ай бұрын
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 😅
@ColinFox
@ColinFox 3 ай бұрын
"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
@filippzakharov1378
@filippzakharov1378 4 ай бұрын
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!
@HeySeeri
@HeySeeri 4 ай бұрын
Cool to see folks discovering UI's in 2024!
@67fabs
@67fabs Ай бұрын
You mean TUI ? 😀
@alcb1310
@alcb1310 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
@@zephyrthesearchrescuedog8358 was about to comment this. It fits inside nvim nicely, and the workflow feels amazing.
@LeviNotik
@LeviNotik 4 ай бұрын
This is exactly how I feel. Anything I *can* do in Neovim, I will do
@tobiasl.4038
@tobiasl.4038 4 ай бұрын
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 4 ай бұрын
You got it! Thanks for being a member!
@raphaeld9270
@raphaeld9270 4 ай бұрын
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.
@j1d7s
@j1d7s 4 ай бұрын
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 4 ай бұрын
heck yes! it has a bit of a learning curve but its awesome in the end. Thanks for being a member!!!!
@psadi_
@psadi_ 4 ай бұрын
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)
@steveclarke1764
@steveclarke1764 4 ай бұрын
That's mine as well. Loving it.
@gabrielbeaudin3546
@gabrielbeaudin3546 4 ай бұрын
I was using Magit so far but you got me interested in trying it out. Great video
@gabrielbeaudin3546
@gabrielbeaudin3546 4 ай бұрын
I ended up switching. I do lot more atomic commits since then instead of just on big commit. thanks
@dimitrisdrosos245
@dimitrisdrosos245 4 ай бұрын
Great video. Will definitely use it in the future.
@phaberest_
@phaberest_ 4 ай бұрын
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
@KeithGyarmati
@KeithGyarmati 2 ай бұрын
This is awesome! I typically use gitkraken if I get a really gnarly merge conflicts via the command line.
@VinitKhandagle
@VinitKhandagle 4 ай бұрын
you are one the best person that explains a topic!!!
@whaisonw2865
@whaisonw2865 4 ай бұрын
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 4 ай бұрын
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.
@sharperguy
@sharperguy 4 ай бұрын
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.
@SFFist
@SFFist 4 ай бұрын
You can hit O to create a PR as well. It will open a browser with all fields filled
@ChrisNoesen
@ChrisNoesen 4 ай бұрын
Great video...and neovim series. How did you get the same colorscheme (catppuccin) as your neovim? I only have the default lazygit colorscheme. Thanks!
@fabianmallmann4834
@fabianmallmann4834 Ай бұрын
How did this channel become my favorite in just one weekend?!
@typecraft_dev
@typecraft_dev Ай бұрын
I dunno but I’m happy it did!
@ammarmerakli
@ammarmerakli 4 ай бұрын
Love the content. If you combine it with git delta, you get a fancy diff like vs code
@typecraft_dev
@typecraft_dev 4 ай бұрын
I'll have to look into that!
@jd4rce
@jd4rce 4 ай бұрын
I've been using delta, and it is beautiful, pure perfection 🥹
@erlonpb
@erlonpb 4 ай бұрын
very well remembered! I use delta too :)
@NanoTecked
@NanoTecked 4 ай бұрын
omgodness thanks for that video i finnally faced the scared (to me) conflicts, what a easy way shows this video :D
@GertCuykens
@GertCuykens 3 ай бұрын
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
@climbing-this-wall
@climbing-this-wall 4 ай бұрын
Big fan of LazyGit - thanks for covering this
@TobyMole
@TobyMole 4 ай бұрын
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).
@walis85300
@walis85300 4 ай бұрын
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)
@utvikler-no
@utvikler-no 4 ай бұрын
Just in time my friend.. ❤
@user-lp8eo5cd1h
@user-lp8eo5cd1h 3 ай бұрын
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 3 ай бұрын
Yes it’s really a great tool! And the commands are really easy to remember/discover
@bison_42
@bison_42 4 ай бұрын
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 💖
@PJo336
@PJo336 4 ай бұрын
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
@murtadha96
@murtadha96 3 ай бұрын
Lazygit is one of the best TUI tools out there, it's truly awesome!
@Zippythrone
@Zippythrone 2 ай бұрын
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?
@MrSchmichri
@MrSchmichri 3 ай бұрын
exactly what i was looking for
@phortheman
@phortheman 2 ай бұрын
There is also lazydocker and that is also very awesome!
@thsem
@thsem 4 ай бұрын
Can we get playlist of making our own dotfiles after nvim completion?? BTW, great video
@stuvius
@stuvius 3 ай бұрын
This made me try lazygit and it’s honestly amazing
@typecraft_dev
@typecraft_dev 3 ай бұрын
That’s awesome!
@PetrenkoAndrii
@PetrenkoAndrii 4 ай бұрын
I'm first to comment! Happy to see new video from you! And a plugin, that I voted for :) Thanks!
@typecraft_dev
@typecraft_dev 4 ай бұрын
You're the best!
@ivanheffner2587
@ivanheffner2587 2 ай бұрын
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.
@joergw
@joergw 4 ай бұрын
KZbin algorythm is sometimes scary: this is the *third* video about LazyGit in my home feed, although I never heard about it before 🤔
@anon_y_mousse
@anon_y_mousse 4 ай бұрын
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.
@VANTYCSolutions
@VANTYCSolutions 4 ай бұрын
Awesome tool thank you for sharing?
@typecraft_dev
@typecraft_dev 4 ай бұрын
You're welcome!
@codeman99-dev
@codeman99-dev 3 ай бұрын
Seems awesome. Probably will stick with `tig`.
@joyQuery
@joyQuery 4 ай бұрын
great video -- just a heads up your sound/volume isn't consistent -- sometimes the sound levels go up and then back down
@KuzyoYaroslav
@KuzyoYaroslav 4 ай бұрын
Curious to hear your thoughts on Neogit. Have you tried it yet?
@typecraft_dev
@typecraft_dev 4 ай бұрын
I'll have to check that out!
@theherk
@theherk 4 ай бұрын
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.
@jameshertz2461
@jameshertz2461 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
@Laggedskapari
@Laggedskapari 4 ай бұрын
Bro's vid hits the spot!
@ruslangabitov5202
@ruslangabitov5202 4 ай бұрын
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.
@islam9212
@islam9212 4 ай бұрын
Nothing better than emacs with magit !
@ShaunEk1
@ShaunEk1 3 ай бұрын
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.
@Redyf
@Redyf 4 ай бұрын
Your videos are great
@s-xatya5088
@s-xatya5088 4 ай бұрын
Man can u make a video about setting up Refactoring plugin like moving file, renaming file, ...?
@manee427
@manee427 4 ай бұрын
Amazing content
@typecraft_dev
@typecraft_dev 4 ай бұрын
Thanks!
@qwerasdfhjkio
@qwerasdfhjkio 4 ай бұрын
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 4 ай бұрын
Noted! we're still tweaking our process thanks
@casadogaspar
@casadogaspar 4 ай бұрын
git commit -am "chore: learning about new git cli with Ted Lasso"
@ThsHunt
@ThsHunt 4 ай бұрын
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 4 ай бұрын
That definitely has something to do with your git config. Check ~/.gitconfig
@ThsHunt
@ThsHunt 4 ай бұрын
@@typecraft_dev idk about .gitconfig
@SamiullahKhan
@SamiullahKhan 3 ай бұрын
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.
@tenminutetokyo2643
@tenminutetokyo2643 Ай бұрын
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.
@matteostara
@matteostara 4 ай бұрын
I love LazyGit but I cannot figure out how to sign commits successfully so I can't really use it at work 😢
@derpenstocks
@derpenstocks 4 ай бұрын
it doesn’t just use the key in your gitconfig?
@typecraft_dev
@typecraft_dev 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
If you go over LazyGit repo and look at opened issue #30, that's what happens
@derpenstocks
@derpenstocks 4 ай бұрын
@@matteostara dang, seems pretty important
@sebastianmangelsen8056
@sebastianmangelsen8056 4 ай бұрын
I can not agree more with your opinion. Lazygit helps to save my most complex days when solving git merge conflicts.
@olivierbegassat851
@olivierbegassat851 3 ай бұрын
1:52 now I get it !!!1! 😅
@mntmnt3108
@mntmnt3108 4 ай бұрын
3:40 music is too load over all :/ besides that, nice video
@typecraft_dev
@typecraft_dev 4 ай бұрын
good feedback we'll fix on the next one. thanks!
@DeathSugar
@DeathSugar 4 ай бұрын
gitui has better performance on bigger repos, but lack ability to work with signing commit
@surfingbilly9654
@surfingbilly9654 3 ай бұрын
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.
@imag1ne852
@imag1ne852 2 ай бұрын
wow, lazy git is amazing for gui terminal like
@duckmcduck007
@duckmcduck007 3 ай бұрын
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
@altkev
@altkev 4 ай бұрын
When you love the CLI too much.
@irlshrek
@irlshrek 4 ай бұрын
What's that intro song?
@typecraft_dev
@typecraft_dev 4 ай бұрын
Youth - by ANBR -- we use artlist.io for music and this just fit so well! kzbin.info/www/bejne/sIq5dYucm72BjKs
@vikingthedude
@vikingthedude 4 ай бұрын
I’ve been happy with Sublime Merge for a long time. Anyone here who has switched from sublime to lazy git?
@technocoh
@technocoh 4 ай бұрын
IntelliJ has it all out of the Box...
@envdev
@envdev 4 ай бұрын
More VIM content!
@greendsnow
@greendsnow 4 ай бұрын
ooo... but I thought using Git ui was frowned upon
@yoshidis4
@yoshidis4 Ай бұрын
Looks exactly like Sourcetree
@petes4620
@petes4620 4 ай бұрын
Not confusing at all 😂
@danielvrsek8370
@danielvrsek8370 4 ай бұрын
Sourcetree?
@G311X
@G311X 4 ай бұрын
Turn background music volume down, i will appreciate.
@robertshuxley
@robertshuxley 4 ай бұрын
still would rather use a Git Client with a GUI like Fork, Git extensions or Sourcetree
@khwpp5943
@khwpp5943 4 ай бұрын
*laughs in magit*
@user-lp8eo5cd1h
@user-lp8eo5cd1h 3 ай бұрын
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.
@devarshihazarika4871
@devarshihazarika4871 4 ай бұрын
over hyped for the sake of making videos
@fredericoneto1984
@fredericoneto1984 4 ай бұрын
Can we all agree that a UI is actually useful for some git operations.. damm people doing everything to run away from vscode
@grunklestan4530
@grunklestan4530 4 ай бұрын
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
@QuAzI_NODE
@QuAzI_NODE 4 ай бұрын
Try Tig
@cloudboogie
@cloudboogie 3 ай бұрын
Never understood the need to use anything besides git cli. Why would you use any of that crappy UI?
@CripplingDuality
@CripplingDuality 2 ай бұрын
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.
@bolcheviking
@bolcheviking 4 ай бұрын
Oh yes, good bye my "git add ." days!
@typecraft_dev
@typecraft_dev 4 ай бұрын
lol
@WinterWeaver
@WinterWeaver 4 ай бұрын
Any magit users here?
@typecraft_dev
@typecraft_dev 4 ай бұрын
I’ve used magit!!!
@duznt-xizt
@duznt-xizt 4 ай бұрын
nah i think ill stick with my gitkraken 😋
@plebiannn
@plebiannn 4 ай бұрын
lazygit
@WoWUndad
@WoWUndad 4 ай бұрын
theres plenty of modern visual github programs, yet you go with the terminal text thing that looks like appropriate for 1980
@theherk
@theherk 4 ай бұрын
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.
@khanra17
@khanra17 4 ай бұрын
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 4 ай бұрын
good feedback! we're tweaking and learning things
@Boxing_Gamer
@Boxing_Gamer 3 ай бұрын
You can't even want a files history, so annoying.
@horrorcoder
@horrorcoder Ай бұрын
This is just version control, if it takes more that 15 minutes to understand it it is a waste of time and poorly designed.
30 Vim commands you NEED TO KNOW (in just 10 minutes)
10:27
typecraft
Рет қаралды 62 М.
git rebase - Why, When & How to fix conflicts
9:45
Philomatics
Рет қаралды 24 М.
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 41 МЛН
Smart Sigma Kid #funny #sigma #comedy
00:19
CRAZY GREAPA
Рет қаралды 8 МЛН
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 82 МЛН
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 1,3 МЛН
The Holy Grail of Neovim Git Integrations
13:28
DevOps Toolbox
Рет қаралды 28 М.
You shouldn’t be taught Git feat. ThePrimeagen | Backend Banter 054
59:42
I tried Neovim Distributions so you don't have to
9:12
typecraft
Рет қаралды 136 М.
Tmux will SKYROCKET your productivity - here’s how
10:02
typecraft
Рет қаралды 70 М.
Teaching Neovim From Scratch To A Noob
1:12:55
TheVimeagen
Рет қаралды 143 М.
We may have killed p10k, so I found the perfect replacement.
19:48
Dreams of Autonomy
Рет қаралды 66 М.
Tmux has forever changed the way I write code.
13:30
Dreams of Code
Рет қаралды 909 М.
120x Faster Algorithm By Nested Loops
21:21
ThePrimeTime
Рет қаралды 334 М.
Neovim and Git: SOLVED
8:03
typecraft
Рет қаралды 57 М.
Set up a Mac in 2024 for Power Users and Developers
1:00:34
Syntax
Рет қаралды 245 М.
Bardak ile Projektör Nasıl Yapılır?
0:19
Safak Novruz
Рет қаралды 6 МЛН
сюрприз
1:00
Capex0
Рет қаралды 1,3 МЛН
wireless switch without wires part 6
0:49
DailyTech
Рет қаралды 3,9 МЛН
One To Three USB Convert
0:42
Edit Zone 1.8M views
Рет қаралды 438 М.