So You Think You Know Git - FOSDEM 2024

Поделиться
HTML-код
  • Опубликовано: 20 янв 2025

Комментарии • 591

  • @nlovelldev
    @nlovelldev 11 месяцев назад +607

    Timestamps for dorks:
    00:00 - Introduction
    01:06 - About Me (well, Scott Chacon)
    02:36 - How Well Do You Know Git?
    05:09 - Our Agenda
    06:25 - Some Helpful Config Stuff
    09:42 - Oldies But Goodies
    16:22 - Some New Stuff (You May Not Have Noticed)
    23:48 - Some Big Repo Stuff / Monorepo Stuff
    33:29 - Some New Github Stuff
    35:54 - GitButler
    36:50 - End of talk
    37:03 - Start of Q&A Session
    37:06 - Q: Why does GitHub not do git range diff?
    38:28 - Q: Why do submodules suck everywhere?
    40:16 - Q: With SSH signing, is it possible to specify more than one key?
    40:42 - Q: Why can't --force-with-lease be the default force?
    42:33 - Q: If you were back on the Git development team, what direction would you like to see it move in?
    44:58 - Q: We all love the Git CLI - but do you ever use any visual tools?
    46:41 - That's all folks!-

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +181

      Awesome! We're stealing this and updating the description. Thanks for the hard work!

    • @Arrow_7s
      @Arrow_7s 11 месяцев назад +32

      @@gitbutlerappthe sarcasm lmao

    • @Little-bird-told-me
      @Little-bird-told-me 11 месяцев назад +1

      You are real MVP

    • @TheRealZitroX
      @TheRealZitroX 11 месяцев назад

      @@gitbutlerapphow to save work :) xD

    • @neoesm
      @neoesm 10 месяцев назад

      can you pin this comment? @@gitbutlerapp

  • @sandeepparmar3113
    @sandeepparmar3113 11 месяцев назад +442

    The excitement level of this guy is priceless. Imagine working with him in a team!

  • @NEDinACTION
    @NEDinACTION 11 месяцев назад +1146

    I know I don't know git, that's why whenever I have to do something new I research it for 30 minutes and then make a script so I don't have to do that again. Mad respect to all y'all who somehow find the time to master git and all the other devops wizardry on top of learning your language of choice.

    • @w花b
      @w花b 11 месяцев назад +241

      If someone has the confidence to say they know git, I'd be scared of them. They're too powerful

    • @mr.mister311
      @mr.mister311 11 месяцев назад +63

      I think for a lot of people it's less about time and more about version control being this necessary evil we have to deal with when really we just want to write code.
      I'll spend hours learning programming languages that I'm never going to actually use instead of spending that time reading a manual on the version control that I use every day.
      I'm currently trying to convince myself that it is one of those things that are more fun once you actually know it.

    • @autohmae
      @autohmae 11 месяцев назад +5

      @@w花b or lying to themselves.

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +66

      Try out GitButler, maybe it's a nice compromise. :)

    • @mangalegends
      @mangalegends 11 месяцев назад

      I have found my people ​@@mr.mister311

  • @aleattorium
    @aleattorium 11 месяцев назад +508

    Suggestion: add chapters (timestamps) to this video. It really helps when you're watching for the second time!

    • @billionai4871
      @billionai4871 11 месяцев назад +18

      If someone adds the chapters as a comment, I think youtube might catch them automagically

    • @nlovelldev
      @nlovelldev 11 месяцев назад +27

      ask and ye shall receive. timestamps up above (or below... or wherever my comment ended up floating to.)

    • @MohitKhare
      @MohitKhare 11 месяцев назад +4

      @@nlovelldev Already your FAN brother or sister or whoever you are. 😊♥

    • @parp
      @parp 11 месяцев назад +1

      @@nlovelldev tysm
      x

    • @JoshuaRose-hm3xq
      @JoshuaRose-hm3xq 4 месяца назад

      or the third ✋

  • @sammcj2000
    @sammcj2000 11 месяцев назад +435

    Great talk, I really appreciate the "shotgun" style presentation - it cuts the crap while keeping it clear.

    • @MHLuttekes
      @MHLuttekes 11 месяцев назад +15

      I don't know if it's ADHD, but my brain goes so well on this type of content where normally I struggle to follow presentations.

    • @dittoford
      @dittoford 11 месяцев назад +5

      @@MHLuttekesI struggle with this too, my guess is because these style of presentation just keeps bombarding you with information so you’re more inclined to stay focused.
      Whereas usual presentation are sprinkled with useless fluff that makes you “turn off” your brain for a while and “turn on” again when the important bits were presented

    • @keyd33
      @keyd33 11 месяцев назад +5

      I also like he goes directly to the point instead of talking during 10 minutes with an history about versioning systems...

    • @BJ-bd5fc
      @BJ-bd5fc 10 месяцев назад

      It's better to watch it later (vs. live). I have to pause the video, take notes, and think about how it would apply to my job if I want the info to stick.
      This is a great presentation, though. There is zero fat here.

  • @donutsleader
    @donutsleader 11 месяцев назад +175

    The talk is great, but the manner of it being presented is even better!

  • @cybrflash
    @cybrflash 11 месяцев назад +113

    `git blame -C -C -C` is pure gold. But wait, there's more!
    From `GIT-BLAME(1)`
    -C[]
    In addition to -M, detect lines moved or copied from other files that were modified in the same commit. This is useful when you reorganize your program and move code around across files. When this option is given twice, the command additionally looks for copies from other files in the commit that creates the file. When this option is given three times, the command additionally looks for copies from other files in any commit.
    is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying between files for it to associate those lines with the parent commit. And the default value is 40. If there are more than one -C options given, the argument of the last -C will take effect.

  • @TheMasonX23
    @TheMasonX23 11 месяцев назад +26

    So excited to share this with my boss Mike, he's our local Git wizard and I'm so thankful for him. He's always so excited to share the new things he's learned and I'm looking forward to paying it forward!

  • @MaikDiepenbroek
    @MaikDiepenbroek 11 месяцев назад +74

    Next to being an informative talk, the way it's presented is great. Good job on that presentation skills!

  • @coder2k
    @coder2k 11 месяцев назад +14

    Didn't know that guy before, immediately caught fire because of his excitement, bought his book after the first 10 minutes. Great talk!

  • @ronminnich
    @ronminnich 11 месяцев назад +62

    Thanks for the book. It saved my neck in 2011. Every intern I've had since 2012, on their first day, I give them the book and ask them to read it all, and do all the exercises. I give them paper so they can mark it up as needed. Every intern that does this, has no issues with git all summer. The one or two interns that did not do the exercises? They struggle. Great book!

    • @ghos7bear
      @ghos7bear 11 месяцев назад +3

      I haven't watched the video yet but it would be useful if you'd put book's name into your comment so people can look it up right away.

    • @MichaelLohmann-up9ux
      @MichaelLohmann-up9ux 11 месяцев назад +5

      @@ghos7bear It is the "Pro Git" book you can find for free with a search engin of your choice

    • @ronminnich
      @ronminnich 11 месяцев назад +2

      Pro Git 2nd ed. Edition by Scott Chacon -- just do every exercise and try every command, even if it's boring or you have done it before. That's what we learned over 10y of interns.

    • @getyournekoshere9824
      @getyournekoshere9824 11 месяцев назад +15

      lmfao, you ask every intern to read a 500 page book for a summer internship? try not to respond with: "yeah I work at a super awesome place and im so smart, try putting a little more work in kiddo, pull up your bootstraps etc etc"

    • @Spelaren7254
      @Spelaren7254 11 месяцев назад

      @@ronminnichhope you at least pay them for that lmao seems like a shitty workplace ngl. I have never had any problems with git and I didn’t get forced to read a 500 page book. If I wonder something I’ll just google it. Takes 3s

  • @JoseSilva-gt6zj
    @JoseSilva-gt6zj 11 месяцев назад +10

    Time 8:13 - Setting or defining work and oss (open source software) directories. Thank you, Scott!

  • @worldadmin9811
    @worldadmin9811 11 месяцев назад +24

    Really excellent talk. Incredible pacing, funny, and lots to learn for folks at every level.

  • @carlogilmarp.s.16
    @carlogilmarp.s.16 11 месяцев назад +4

    Scott Chacon is a legend! I learned git in 2016, and I love it, it's one of the most important tools for me, after start my journey as a developer, I start to teach git, and the best resource always was the Pro Git book.

  • @gitbutlerapp
    @gitbutlerapp  11 месяцев назад +73

    If anyone has any questions or suggestions for the next version of this talk, we would love to hear them!

    • @ivanbessarabov690
      @ivanbessarabov690 11 месяцев назад +5

      More about CRDT stuff :)

    • @iflux8821
      @iflux8821 11 месяцев назад +6

      Close the cameraman in a closet before next talk.

    • @iflux8821
      @iflux8821 11 месяцев назад +13

      On a serious note, stacked PRs could be a nice topic.

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +3

      @@ivanbessarabov690 interesting, we could do more on that. :)

    • @antoy384
      @antoy384 11 месяцев назад +4

      I’m at half and you haven’t made a demo of *git-bisect* with a 300GB repository yet ;)

  • @Raykazen
    @Raykazen 11 месяцев назад +1537

    "fucking nerds...". Golden

    • @linonator
      @linonator 11 месяцев назад +37

      😂 family looked at me weird laughing my butt off

    • @Beryesa.
      @Beryesa. 11 месяцев назад +3

      Indeed xd

    • @ss4yaasir524
      @ss4yaasir524 11 месяцев назад +9

      Honestly, I find using it via the terminal much simpler lol

    • @IllIIIIIIllll
      @IllIIIIIIllll 11 месяцев назад +2

      hahaha what a joke hahaha😲

    • @MaazKhan-lw6kz
      @MaazKhan-lw6kz 11 месяцев назад +1

      My favorite part 😂✨

  • @newmood24
    @newmood24 18 дней назад

    The video is so good, I couldn't skip at all. What a great intro btw!

  • @lucvaroqui2754
    @lucvaroqui2754 11 месяцев назад +11

    I was there, great talk! Made me discover GirButler, super promising!!

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +3

      I'm impressed you made the cut. I saw them ushering a hundred people out :)

    • @jasonhenson7948
      @jasonhenson7948 11 месяцев назад +1

      Those packed aisles would have been a fire warden's nightmare.

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +4

      @@jasonhenson7948 They kicked everyone out who did not have a seat before the talk started. We were sad, but the fire warden would have remained happy.

  • @lpanebr
    @lpanebr 11 месяцев назад +14

    10:59 that -L to blame and log is awesome!

  • @yuvaleliav3709
    @yuvaleliav3709 20 дней назад +1

    lol I just usually use add, commit, push, pull, branch, config and stash (and rebase but usually under the pr and not using cli)
    this video is absolutely wild, thanks its super useful
    and I'll probably have to rewatch it like twice

  • @MikkoRantalainen
    @MikkoRantalainen 11 месяцев назад +2

    46:30 I've been using Git for a long time and I use git gui for building my commit because I always commit lines of code, not full files. And I also use gitk for reviewing history of the code unless I'm looking for some highly specific thing that gitk doesn't support well - for those cases it's mostly `git log -p -​ - optional/path/limit` and grepping the results if needed. (The dashes should obviously be combined without a space but RUclips comment interface cannot display that string correctly.)

  • @pavellaptev2993
    @pavellaptev2993 11 месяцев назад +7

    Fantastic speech! Thank you, Scott. So many cool things about Git.

  • @chaysesmith1873
    @chaysesmith1873 10 месяцев назад +6

    I was kinda hoping he would talk about git worktrees, I use those to checkout branches into separate file paths on my computer which allows me to work in different branches simultaneously. And I can keep long-lived branches separate. This also integrates really well with vscode workspaces.

    • @vibovitold
      @vibovitold 4 месяца назад +2

      frankly i have an old habit of sidestepping Git completely for that, i simply checkout the repo into two independent copies and i switch between those : )

  • @traal
    @traal 11 месяцев назад +5

    Best use for GUI Git has to be staging and unstaging parts of a file. In VS Code, just select some lines in the diff view and right-click. Stage selection and unstage selection. Amazing! 😊

    • @RoamingAdhocrat
      @RoamingAdhocrat 5 месяцев назад +1

      you can do this in the terminal with `git add -p` - albeit not as elegantly when you want to break up a block of changes

  • @nceevij
    @nceevij 4 месяца назад

    This talk is great it felt I knew nothing of Github. But it was super fast delivery before my mind , eyes, and ears can align together and comprehend anything out of it

  • @WhileTrueCode
    @WhileTrueCode 8 месяцев назад +3

    committing to multiple branches is brilliant! its always a PITA to notice/fix a core bug when working on a feature branch.. stash->checkout->pop->commit->checkout->merge is so much overhead for what started as a 5-second one liner fix.

  • @samuelcasimiro
    @samuelcasimiro 10 месяцев назад +1

    Wow. What a great presentation. Thank you very much.

  • @hansvandenbogert8992
    @hansvandenbogert8992 9 месяцев назад

    just pluggin git butler shortly, well done! Real-world git goodies, love it.

  • @DrGreenGiant
    @DrGreenGiant 11 месяцев назад +6

    Excellent talk! After many years on RUclips this made me create a new playlist of videos I need to rewatch regularly. The bar has been set pretty high!

    • @dorianligthart3378
      @dorianligthart3378 6 месяцев назад +1

      I wish you could search up, not based on the title, but on the frequency of words in the transcript of a video.

  • @sharkbelly1169
    @sharkbelly1169 11 месяцев назад +4

    Thanks for a great talk. Gonna be using git column all the time XD

  • @QuantumCanvas07
    @QuantumCanvas07 7 месяцев назад

    For beginners who feel like god after knowing some git push command, this is a great humbling video for you.

  • @jasonhenson7948
    @jasonhenson7948 11 месяцев назад +1

    Virtual branches are an amazing feature.
    There are so many times I've been working on a branch and seen a minor fix in a file unrelated to my work.
    Streamlining those fixes while keeping them separate from my branches is very efficient for everyone.

  • @kipchickensout
    @kipchickensout 11 месяцев назад

    I loved your "Ask your code" talk back at Code.Talks and I love this one even more!
    Holy shit that git butler idea is great, I've always wanted to work on several branches intermittently

  • @thislooksfun1
    @thislooksfun1 11 месяцев назад +12

    At 43:04 you said you'd like to be able to work on more than one branch at a time. What are your thoughts on git worktrees?

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +7

      they're fine, but they're not together. "at the same time" meaning with both branches applied to the same directory. like being merged but still being able to work on them independently. this is what we do with GitButler with virtual branches.

  • @MadMathMike
    @MadMathMike 11 месяцев назад +6

    Fantastic presentation!

  • @dennispagano10
    @dennispagano10 11 месяцев назад +2

    Appreciated the Sneakers reference.

  • @captainchaos3667
    @captainchaos3667 Месяц назад +1

    20:40 - Sneakers - great movie!

  • @MelroyvandenBerg
    @MelroyvandenBerg 11 месяцев назад +5

    Youre a great speaker!

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +2

      Thanks!

    • @MelroyvandenBerg
      @MelroyvandenBerg 11 месяцев назад +1

      @@gitbutlerappYou did had a typo at least once ;P It's `git maintenance start` not maintainance. But I forgive you.

  • @arhontra
    @arhontra 11 месяцев назад +1

    Great lecture. Could you please share what command you used at 7:50 as bb alias to print this nice version of the branches

  • @acrophile8
    @acrophile8 11 месяцев назад +1

    Found this fun and informative... love the Sneakers reference too.

  • @adrianroldan8864
    @adrianroldan8864 11 месяцев назад +4

    Great talk, I really enjoyed. I was wondering if the virtual branch is something different to what you can achieve with `git worktree add ` ? Amazing, helpful talk. Thanks

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +4

      It is for the same problem, but an important difference. Worktrees give you a different working directory per branch, so if you have a feature and a bugfix, you don't have anywhere where you have _both_ the feature and the bugfix in one direcotry at the same time. With GitButler you do them both in the same directory and make branches from the hunks as though you were `git add -i` each hunk and committing.
      In other words, we keep the work of the two branches separated in memory rather than on disk.
      This is very nice if you want to see how branches will work together before they're technically merged in git.

    • @adrianroldan8864
      @adrianroldan8864 11 месяцев назад

      @@gitbutlerapp thank you for the explanation. It makes sense and it's an awesome feature to have.

  • @PinkPandaKatie
    @PinkPandaKatie 10 месяцев назад

    43:10 - Working on multiple branches at the same time / multiple indexes, heads: Isn't that what `git worktree` does? I use it quite a bit, especially if I need to make a change to one branch while I have a bunch of other uncommitted changes in my main working tree.
    I also use submodules - I have a lot of 3D printing projects using OpenSCAD, and I've developed a common library of functions / transformations / etc. Since OpenSCAD doesn't have a package management / dependency system like Python or NPM, I just add my common library as a submodule to each individual project.

  • @monawoka97
    @monawoka97 9 месяцев назад +27

    I have never once thought I know git.

    • @jj18
      @jj18 3 месяца назад +2

      me neither. I just use the basics and pray nothing goes wrong.

  • @JunepilLee
    @JunepilLee 8 месяцев назад

    I realy love the pro git book and Im so happy that I found this vid 😊

  • @CrtTsai
    @CrtTsai 11 месяцев назад

    I enjoy this talk. Thank you.

  • @webknjaz
    @webknjaz 11 месяцев назад

    Wow, what a great talk! I'll add it to my collection of Git learning materials!

    • @MJ-xg2ow
      @MJ-xg2ow 8 месяцев назад

      Git learning material???? REALLY? Aren't they more important things to learn in the whole world of IT????? LMAO

    • @webknjaz
      @webknjaz 8 месяцев назад

      @@MJ-xg2ow there are many important things. But being dumb and unable to use major everyday tools is not the solution.

    • @MJ-xg2ow
      @MJ-xg2ow 8 месяцев назад

      "Unable" to use major tools??? Wasting time to use git blame in cmd line to look cool while it's a click away is being Unable to learn everyday tool? I can't live without cmd myself but this is not the type of stuff one use cmd line to make their life easier....

    • @webknjaz
      @webknjaz 8 месяцев назад

      @@MJ-xg2ow if it's available in your editor, it's fine. Some features are indeed more useful when visualized. But this doesn't mean that knowing fundamentals is useless.

  • @hisuomi
    @hisuomi 11 месяцев назад +1

    Hi, thanks for the session. FYI, you have a typo at 22:28

    • @JackEnneking
      @JackEnneking 10 месяцев назад

      Namely `git maintainance` should be `git maintenance`.

  • @Gersberms
    @Gersberms 11 месяцев назад

    This is the first time I heard of porcelain commands. A quick google and... it makes sense! Part of most software is plumbing that has to work, but is ugly, and not everyday user-facing code. The nice user-interfacing stuff is porcelain.

  • @Synthetica9
    @Synthetica9 11 месяцев назад

    Whoah that virtual branch stuff is exactly what I was looking for I expected you needed something like Pijul for that

  • @mrjvc
    @mrjvc 11 месяцев назад

    Great talk! So many new gems to add to my workflow

  • @aaronr.9644
    @aaronr.9644 11 месяцев назад +1

    I didn't know about range diff. I do the same thing manually because I didn't realise there was a tool for that :)

  • @PedroKing99
    @PedroKing99 4 дня назад

    Cool presentation

  • @leonasdev
    @leonasdev 11 месяцев назад +4

    Waht a great talk. I have same frustrating about that part of git does not record all the shit for me.

  • @dc0d
    @dc0d 11 месяцев назад

    Awesome talk! But I was looking forward to hear about "git worktree" too.

  • @T1Oracle
    @T1Oracle Месяц назад

    I know ~30% of git. So not bad after seeing that chart! 😊
    --force-with-lease should be --try-force

  • @prafull_chavan
    @prafull_chavan 5 месяцев назад

    Thanks for the talk, many new things. I will try to incorporate some of them in my projects.
    P.S. He looks like pedro pascal : )

  • @fametheshit
    @fametheshit 11 месяцев назад +1

    Very nice talk, I like his energy on the topic we all use all day!
    Is there any source for the intro song?

  • @MichalMracka
    @MichalMracka 11 месяцев назад +1

    18:45
    git push --force
    vs
    git push --force-with-lease
    Any idea, why the safer commands are not the default and longer to type on top of that...?

    • @yodal_
      @yodal_ 11 месяцев назад +1

      The longer one is newer. You don't want force (either version) to be the default out of the box, but also you can't replace the old behavior without breaking people's old workflows.
      Edit: 40:42

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +1

      Yeah, Scott addressed this in the Q&A: you can't be backwards incompatible in Git easily and that's a good thing. Best to do is set up an alias, which is why he started the talk that way. :)

  • @GeFrItroger
    @GeFrItroger 11 месяцев назад

    You are hilarious!!!!!! In the positive way !!!!

  • @hansvandenbogert8992
    @hansvandenbogert8992 9 месяцев назад

    the GUI vs CLI debate, I never think about that anymore since I started using Magit.

  • @metcaelfe
    @metcaelfe 5 месяцев назад +1

    Crowd Strike gonna be using that git blame -C -C -C right about now

  • @jlhjlh
    @jlhjlh 11 месяцев назад +1

    "my voice is my passport, verify me" -- I love the reference! :D

  • @lerneninverschiedenenforme7513
    @lerneninverschiedenenforme7513 11 месяцев назад +1

    looking forward to gitbutler.
    awesome talk!!

  • @KarlOlofsson
    @KarlOlofsson 11 месяцев назад +7

    I do a lot of code review and have been saved by reflog more than I care to admit 😅

    • @KarlOlofsson
      @KarlOlofsson 11 месяцев назад +2

      I jump between branches a lot and sometimes mix up where I should commit or reset lol.

    • @HtotheG
      @HtotheG 11 месяцев назад +2

      My friend's company is switching from SVN to Git after decades and the one piece of advice I told them was the reflog will save you from almost anything!

    • @KarlOlofsson
      @KarlOlofsson 11 месяцев назад +3

      @@HtotheG I use stash a lot as well, can't be bothered to commit wip stuff all the time lol

  • @jimmorrison2657
    @jimmorrison2657 9 месяцев назад +3

    Remember when version control used to be simple?
    When it didn't need to be wrapped in huge frameworks so that people could work with it?
    When it didn't need conferences like this?
    When it wasn't the main topic of conversation on a project, and we just did the project?

    • @rebeccakeller4666
      @rebeccakeller4666 8 месяцев назад

      Yes I do. And source control back then wasn't a tool the way git is. Like, also,git is awful in many ways, but I still love it deeply for the things it lets me do, manipulate and interrogate my repo history in many useful ways. It lets me approach certain problem classes in a meta way that old source control just could not. Branching is a first class citizen in git and that was not the case inb4. Learning git is a brick wall, as an early adopter I had the difficulty of explaining git many times to many companies, simple things are often stupid, and git basically requires you to learn it's mental model pretty well before you can do basic things with confidence. Then again, idk, sql doesn't make much sense unless you know what a relational database is. So git is hard in dumb ways, and if anything ever replaces it the way git ate svn, then I can't wait to drop git over whatever that future better system is, but it doesn't seem to exist, so I'm on the whole far far happier with git, warts and all, then any prior system. CVS wasn't even atomic, and vss would corrupt itself, svn really couldn't do branches and merge conflicts ruined your working copy in unrecoverable ways, and git is so so fast, and also best case was you could do exactly one local commit effectively where git you can do infinity local commits and also peer to peer stuff. Evolution of source control systems has been a net positive

    • @jimmorrison2657
      @jimmorrison2657 8 месяцев назад

      @@rebeccakeller4666 Hi Rebecca. I could write a similar passage about how bad it is, but I won't bother. I will just say one thing; it is too difficult, and any good software should be easy. Yes, it can be learned, and when you have learned it, it is ok. But it shouldn't take so long to learn. I have been using Git for the last 10 years, so I feel like know it fairly in depth, but it took me about two years to get to this level. Why? You can of course take the easy way out at this point and just say I must be stupid, but I will assume you won't do that. It took me just a few weeks to get to a similar level with CVS, SVN, Clearcase etc. Now I know Git, but I have to work on projects with more junior people who are currently going through the same hell I went through. While they are learning, they make a lot of mistakes and people have to spend their time trying to fix them. The old systems, which would have improved a lot by now, were much better because they were simple and just worked. Anyway, I am glad you like it. Each to their own.

    • @vibovitold
      @vibovitold 4 месяца назад

      Yes, I remember SVN. It was simpler, but it came at a cost. For example working with branches was very clunky and inconvenient.

    • @jimmorrison2657
      @jimmorrison2657 4 месяца назад +1

      @@vibovitold Creating branches was just as easy as it is with Git. But you didn't need to make a new branch for everything. If it was a simple fix, you just checked out the code, did the fix, and checked it back in again, via a review if needed. I know I'm flogging a dead horse here, but Git is a huge step backwards.

    • @vibovitold
      @vibovitold 4 месяца назад

      @@jimmorrison2657 creating, kind of. merging, now that's not how i remember it at all.: )
      and i'm not a fanboy of Git. it is poorly designed especially in terms of API - commands are poorly named etc.
      but this actually emphasizes the question - if it beated all the competition DESPITE those blatant flaws... why did it happen in the first place? what's your theory

  • @KellyClowers
    @KellyClowers 10 месяцев назад

    only thing I know for sure that was added recently was more a change, the default from 'master' to 'main' (about time!)

  • @MHLuttekes
    @MHLuttekes 11 месяцев назад +52

    "Raise your hand if you never used anything other than Git" ... BRB feeling old.

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +13

      Tell me about it.

    • @MHLuttekes
      @MHLuttekes 11 месяцев назад

      @@gitbutlerapp 2x three letters: SVN, and FTP. 🥳

    • @berkes
      @berkes 11 месяцев назад +9

      I feel actual anxiety when I recall the days of CVS and SVN. Man, those were horrible.

    • @kevincozens6837
      @kevincozens6837 10 месяцев назад

      I still use RCS for personal projects involving a single file. For multi-file projects that I'm not making available publicly I'm more likely to use SVN . I started using git only because I was working on some Open Source Projects that used it. I don't like git that much. It is the only VCS that has resulted in me losing some work I had done but not commmited.

    • @LA-MJ
      @LA-MJ 10 месяцев назад

      Svn and mercurial, thanks to mozilla

  • @Raykazen
    @Raykazen 11 месяцев назад +2

    What a great talk. Thanks :)

  • @luansinh0
    @luansinh0 7 месяцев назад

    22:17 His excitement is priceless.

  • @DomHallan-i1i
    @DomHallan-i1i 16 дней назад

    That music to kick the video was 🔥

  • @codeman99-dev
    @codeman99-dev 11 месяцев назад

    I love the interactive add mention - seriously one of the three things I use `tig` for.

  • @wardsuleiman1640
    @wardsuleiman1640 7 месяцев назад

    Working on multiple branches can be achieved to a certain extent by using worktree command.
    It will give you the ability to have multiple worktrees pointing to different branches، and the ability to switch between them while keeping the changes.
    It isn't the easiest to use, but better then nothing.

  • @charlesbenca5357
    @charlesbenca5357 8 месяцев назад

    really an amazing speech. thanks

  • @jesperjuhl6494
    @jesperjuhl6494 11 месяцев назад +1

    Really nice talk. Thanks :)

  • @ColinRichardson
    @ColinRichardson 11 месяцев назад +1

    4:02 ahhh man, the plumbing commands was what I was REALLY hoping to hear more about..
    I often like to temp-merge a big selection of branches together, write that to a tree, then commit the tree with a massive bunch of parents, of where I merged from.. Give myself a giant octopus merge and then throw away all the temp-merging commits, so you have a nice clean "MERGE ALL THE FEATURES AT ONCE" commit.. Looks fantastic :D

    • @LA-MJ
      @LA-MJ 10 месяцев назад

      Merge does do octupus with porcelain, not sure what you mean

  • @Leander_
    @Leander_ 11 месяцев назад

    Fantastic talk!

  • @harisonfekadu
    @harisonfekadu 11 месяцев назад +1

    Awesome intro 👏

  • @GerbenWijnja
    @GerbenWijnja 8 месяцев назад

    The recording feature would be great. We've all been there, when we did a lot of work and then accidentally deleted the code, and it wasn't added/committed yet. And you pull your hair out wonder why th you didn't commit it... and you have to rewrite everything. It would be great if git allowed you to undelete something.

  • @movax20h
    @movax20h 11 месяцев назад +3

    Hehe. Starting to watch the video. I am using git for 15 years (and before that hg, perforce, svn, cvs), and I would say I do not know git even on the surface. I know more about git in my company than anybody else probably, but I still would say I do not know git. And I do not want to know it.

    • @gitbutlerapp
      @gitbutlerapp  11 месяцев назад +1

      I know we're doing a git client, but I do have to say that git is amazing :)

    • @AV-dk7pf
      @AV-dk7pf 11 месяцев назад

      Same here plus sourcesafe, clearcase and tfs. Used hg for many years, wrote many extensions for it, even up-streamed some fixes in the early days when windows support was shaky. Git is the best by far.

  • @GenshinContentHoyolab-mk4ic
    @GenshinContentHoyolab-mk4ic 10 месяцев назад

    thank youuuuuu I just instantly subscribed

  • @squidiebah
    @squidiebah 11 месяцев назад

    Great session

  • @artysanmobile
    @artysanmobile 6 месяцев назад

    This is too nerd even for me, but I’m really glad they all exist.

  • @xdcountry
    @xdcountry 11 месяцев назад +1

    That was fantastic!!

  • @lpanebr
    @lpanebr 11 месяцев назад +2

    13:01 WOW! That's the way to use blame!

  • @pagarevijayy
    @pagarevijayy 11 месяцев назад

    do you guys use same github id for personal and work stuff? or use two separate ids created using separate email?
    which one should i prefer, why?

  • @jldevezas
    @jldevezas 11 месяцев назад

    Isn't "git worktree" something to help you work on multiple branches at the same time? Did I miss the use case there?

  • @DuRoehre90210
    @DuRoehre90210 11 месяцев назад

    Is it a way to get some old commit message being used as template? For example, if rerere has found the same resolution, could it also suggest the same commit message as before?

  • @Bobbel888
    @Bobbel888 10 месяцев назад

    Never thought, that there were tools properly managing deconfliction, while everyone is telling about His obvious insight.

  • @MasterHobbitLoL
    @MasterHobbitLoL 10 месяцев назад

    Great video

  • @sharanupst
    @sharanupst 11 месяцев назад +1

    Neat. Learned a few things. Thanks.

  • @MaxMalm
    @MaxMalm 10 месяцев назад

    Great talk, are the commands listed somewhere for copy/pasting?

  • @MikkoRantalainen
    @MikkoRantalainen 11 месяцев назад

    43:00 I agree that having more than one index would be great but I see many Git newcomers having problems wrapping their mind around even the single index, so having multiple indexes in parallel would melt some brains.

  • @TheLegendaryBaum
    @TheLegendaryBaum 11 месяцев назад

    Awesome talk!

  • @JUMPINGxxJEFF
    @JUMPINGxxJEFF 11 месяцев назад

    Nice talk, thanks

  • @jessen00001
    @jessen00001 11 месяцев назад +2

    Great video thanks 🎉😊

  • @artysanmobile
    @artysanmobile 6 месяцев назад

    I git so much good info there.

  • @Fazal828
    @Fazal828 11 месяцев назад

    What a fun talk!

  • @bloodqc
    @bloodqc 9 месяцев назад

    How do you use git maintenance if you have a yubikey or similar, and you need to touch the key on each request, how do you tell that git maintenance was the initiator?

  • @sebbe4717
    @sebbe4717 Месяц назад +1

    WHAT IS THAT SOUNDTRACK IN THE BEGINNING?

  • @savagepro9060
    @savagepro9060 11 месяцев назад +1

    Wicked fkin opening soundtrack, bombaclaat!