GitButler wants to redefine branching in git. Does it succeed?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
get it's something we love and we hate something that many developers are using on a day-to-day basis grappling with thinking they understand and always hitting strange problems that don't entirely make sense it's also one of these things that everyone does differently despite everyone saying there's a standard way there isn't but it has largely stayed pretty similar for some time now there's a new project a new desktop application out and about actually created by one of github's original co-founders Scott chasson and it's called git Butler and it attempts to add some new things to git so I met some of the team at fosm in Brussels earlier in the year and I thought it was high time I got my hands on git B to see what it's all about so let's get started there is of course just a dis image you can download it has mostly been available for Mac OS recently but now there is a Windows version but thankfully as a good developer Mac OS user there is also a Homebrew CK formula and that's what I will use to install it this is the website over at G butler.com gives you a rough idea of what to expect its basic concept is to add these virtual Lanes these virtual branches of your work on top of normal git branches so you can move backwards and forwards between changes in git Butler virtual branches and those changes can be on one file or multiple files without actually having to create proper git branches and jump backwards and forwards much more fluidly basically it is open source it's also interesting in its architecture because it is using toy a project I featured on the YouTube channel some time ago and has been long overdue a revisit but that is what they are using to create a fairly optimized crossplatform [Music] application so let's step through some of the basics of setup after installation various things we do or don't want to opt into and it's interesting because you cannot sign up and just just use it like a quote unquote normal git guey which I am a fan of actually but I will sign up otherwise there's not a tremendous amount of Point showing the application I we do that with GitHub so now we can add a new project so I'm using this project as an example it sort of works in my mind because it's a crossplatform application I'm often doing a lot of testing and switching backwards and forwards between different branches to see the code I am working on so so for example here is going to be sort of the basis of this experiment I have a react Branch but I'm also trying to create a react native branch and a react that uses toy Branch so I'm going to use the react Branch as kind of the the kickoff for using git Butler so now G Butler set up it can add a new project find the folder and then we go through the setup steps I mean if I was doing this for real I probably would pick main but I'm going to use react for now let's enable these AI features because why not everything's got to have ai these days continue use a git executable I won't bother testing it I know it works and let it do its setup behind the scenes it's now created this special Branch for git Butler with a commit as well doesn't change anything any of the commits just created it and this is where I sometimes find that things can be a little bit fiddly with sort of getting this to work but here's what I'm going to do I'm going to make some very simple changes in this readme okay so we have one change in the readme here test one and it's recognized that and you can drag that to a new new virtual Branch with that change then I'll just sort of scroll down a bit somewhere this is where I found it can be a little bit pedantic in that sometimes if the commits are too close to each other it groups them together I don't really know what that's about so this should hopefully be treated as a different one no oh yes there we go so it's coming off the virtual Branch yeah so this is test two we could leave it here but we'll actually create a new branch and now in the same file there's basically one change there and scroll over one change there and I could keep going but I think that's probably enough and this is the thing we can keep these changes separate from each other so maybe I'll go here call it Test 2 a instead and that change is being tracked there we can call this test one b and that change is being tracked there this change is now done should we say so we'll give it a name and you can see that's changed there there also some other things here and we'll commit it sure generate a message why not see what happens what's the worst that can happen it's only AI sure that'll do commit it so this is now kind of in its own local branch I could create a pull request base from it I think I will leave that alone for now push to remote let's do that and see what it looks like and now if we look on the remote Branch here's the branch that was committed and the change here so that be very interesting of course there we go pretty much what you expected I think and then the big promise of course is we can keep working on this change and we can keep working on this change and they're kept separately from each other sort of tracked in one place here but pushed out into two different actual git branches shall we say of course it doesn't have to apply just to one file it can be different files as well so I've made a new file here we switch in and you can see it's in this current branch and we should be able to drag this to another virtual branch and that's being tracked over there you can also do a bunch of just kind of normal git functions in the UI so squashing commits for example you can see that little squash text pops up there we go undo commits I mean these are just sort of visual versions of things you can do elsewhere interesting though because that still is there we can just discard it I guess you can also discard changes there we go you can also amend commits so let's make this change sure let's do a generate message again there we go seems reasonable and make a change then we just drag this change onto it you can see a mend pops up and there we go you can see over here that these are the branches that have got to remote some of the ones just created but then some existing ones so if we want to bring these into the flow select it here then it shows up kind of normal unapplied as it says here and we can apply it and now in theory we're working off of this uh although it's s of merged in some of the other changes as well let's see if we can make a change here so let's give it a different name Al I think that just we haven't really uh started anything yet let's uh hopefully this isn't going to override anything sure and now yeah so now we can start creating virtual branches from it basically so that's how you can bring in I found that it can get confused quickly so I was trying with some of these other branches and things didn't work quite so smoothly it could also just be that the history of this repository is also a bit messed up from me switching backwards and forwards so it may not necessarily be G Butler's fought in this case but I guess it has to factor in the fact that g repositor are not always that clearcut when you bring them in to to something and that is basically it there are some other features that they are working on you can see sort of mentioned in the blog and the documentation but they've also mentioned that some of those are on pause whilst they figure out some of the core features the virtual branches so the timeline feature they mention is one that used to be there and uh bring it back in the future and I guess they will attempt to monetize the project in the future by team support this really feels like something that work very well with teams you can pass these virtual branches backwards and forwards that sounds like a bit of a challenge to accomplish through a kind of git backend so I guess I'll have their own back end on top of it but this is all conjecture for now you can find more about it at GB butler.com and let me know what you think let me know your experiences I like the concept but I have found that it was a bit fiddly to get to work it's using a somewhat fickle system under the hood to get its tricks to work I suppose but anyway love to hear from you you can always find more about me at Christen chill.com of course and please leave an aforementioned comment subscribe share with your friends and uh thank you very much for joining me as always and take care everybody [Music]
Info
Channel: Chris Chinchilla
Views: 208
Rating: undefined out of 5
Keywords:
Id: _Yan-hNxFZk
Channel Id: undefined
Length: 10min 28sec (628 seconds)
Published: Thu May 30 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.