So You Think You Know Git - FOSDEM 2024

  Переглядів 880,283

GitButler

GitButler

День тому

Scott Chacon's FOSDEM 2024 talk on Git Tips and Tricks.
Scott talks about:
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!-
Read the blog series based on this talk here: blog.gitbutler.com/

КОМЕНТАРІ: 451
@NEDinACTION
@NEDinACTION 2 місяці тому
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.
@whannabi
@whannabi 2 місяці тому
If someone has the confidence to say they know git, I'd be scared of them. They're too powerful
@mr.mister311
@mr.mister311 2 місяці тому
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 2 місяці тому
@@whannabi or lying to themselves.
@gitbutlerapp
@gitbutlerapp 2 місяці тому
Try out GitButler, maybe it's a nice compromise. :)
@mangalegends
@mangalegends 2 місяці тому
I have found my people ​@@mr.mister311
@Raykazen
@Raykazen 2 місяці тому
"fucking nerds...". Golden
@linonator
@linonator 2 місяці тому
😂 family looked at me weird laughing my butt off
@Beryesa.
@Beryesa. 2 місяці тому
Indeed xd
@ss4yaasir524
@ss4yaasir524 2 місяці тому
Honestly, I find using it via the terminal much simpler lol
@IllIIIIIIllll
@IllIIIIIIllll 2 місяці тому
hahaha what a joke hahaha😲
@MaazKhan-lw6kz
@MaazKhan-lw6kz 2 місяці тому
My favorite part 😂✨
@aleattorium
@aleattorium 2 місяці тому
Suggestion: add chapters (timestamps) to this video. It really helps when you're watching for the second time!
@billionai4871
@billionai4871 2 місяці тому
If someone adds the chapters as a comment, I think youtube might catch them automagically
@nlovelldev
@nlovelldev 2 місяці тому
ask and ye shall receive. timestamps up above (or below... or wherever my comment ended up floating to.)
@parp
@parp 2 місяці тому
@@nlovelldev tysm x
@sandeepparmar3113
@sandeepparmar3113 2 місяці тому
The excitement level of this guy is priceless. Imagine working with him in a team!
@nlovelldev
@nlovelldev 2 місяці тому
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 2 місяці тому
Awesome! We're stealing this and updating the description. Thanks for the hard work!
@Arrow_7s
@Arrow_7s 2 місяці тому
@@gitbutlerappthe sarcasm lmao
@Little-bird-told-me
@Little-bird-told-me 2 місяці тому
You are real MVP
@TheRealZitroX
@TheRealZitroX 2 місяці тому
@@gitbutlerapphow to save work :) xD
@neoesm
@neoesm Місяць тому
can you pin this comment? @@gitbutlerapp
@sammcj2000
@sammcj2000 2 місяці тому
Great talk, I really appreciate the "shotgun" style presentation - it cuts the crap while keeping it clear.
@MHLuttekes
@MHLuttekes 2 місяці тому
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 2 місяці тому
@@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 2 місяці тому
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 2 місяці тому
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.
@DrGreenGiant
@DrGreenGiant 2 місяці тому
Excellent talk! After many years on UKposts this made me create a new playlist of videos I need to rewatch regularly. The bar has been set pretty high!
@donutsleader
@donutsleader 2 місяці тому
The talk is great, but the manner of it being presented is even better!
@worldadmin9811
@worldadmin9811 2 місяці тому
Really excellent talk. Incredible pacing, funny, and lots to learn for folks at every level.
@pavellaptev2993
@pavellaptev2993 2 місяці тому
Fantastic speech! Thank you, Scott. So many cool things about Git.
@MHLuttekes
@MHLuttekes 2 місяці тому
"Raise your hand if you never used anything other than Git" ... BRB feeling old.
@gitbutlerapp
@gitbutlerapp 2 місяці тому
Tell me about it.
@MHLuttekes
@MHLuttekes 2 місяці тому
@@gitbutlerapp 2x three letters: SVN, and FTP. 🥳
@berkes
@berkes 2 місяці тому
I feel actual anxiety when I recall the days of CVS and SVN. Man, those were horrible.
@kevincozens6837
@kevincozens6837 Місяць тому
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 Місяць тому
Svn and mercurial, thanks to mozilla
@cybrflash
@cybrflash 2 місяці тому
`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.
@MaikDiepenbroek
@MaikDiepenbroek 2 місяці тому
Next to being an informative talk, the way it's presented is great. Good job on that presentation skills!
@MelroyvandenBerg
@MelroyvandenBerg 2 місяці тому
10 out of 10
@MadMathMike
@MadMathMike 2 місяці тому
Fantastic presentation!
@lerneninverschiedenenforme7513
@lerneninverschiedenenforme7513 2 місяці тому
looking forward to gitbutler. awesome talk!!
@Raykazen
@Raykazen 2 місяці тому
What a great talk. Thanks :)
@TheMasonX23
@TheMasonX23 2 місяці тому
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!
@lpanebr
@lpanebr 2 місяці тому
10:59 that -L to blame and log is awesome!
@shannonheylmun1169
@shannonheylmun1169 2 місяці тому
Thanks for a great talk. Gonna be using git column all the time XD
@ronminnich
@ronminnich 2 місяці тому
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 2 місяці тому
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 2 місяці тому
@@ghos7bear It is the "Pro Git" book you can find for free with a search engin of your choice
@ronminnich
@ronminnich 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 2 місяці тому
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 2 місяці тому
@@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 2 місяці тому
Time 8:13 - Setting or defining work and oss (open source software) directories. Thank you, Scott!
@coder2k
@coder2k 2 місяці тому
Didn't know that guy before, immediately caught fire because of his excitement, bought his book after the first 10 minutes. Great talk!
@samuelcasimiro
@samuelcasimiro 2 місяці тому
Wow. What a great presentation. Thank you very much.
@carlogilmarp.s.16
@carlogilmarp.s.16 2 місяці тому
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.
@webknjaz
@webknjaz 2 місяці тому
Wow, what a great talk! I'll add it to my collection of Git learning materials!
@xdcountry
@xdcountry 2 місяці тому
That was fantastic!!
@sharanupst
@sharanupst 2 місяці тому
Neat. Learned a few things. Thanks.
@hansvandenbogert8992
@hansvandenbogert8992 28 днів тому
just pluggin git butler shortly, well done! Real-world git goodies, love it.
@jessen00001
@jessen00001 2 місяці тому
Great video thanks 🎉😊
@rbgtk
@rbgtk 2 місяці тому
I was supposed to go to Fosdem, but family business took priority. Thanks for uploading!
@lucvaroqui2754
@lucvaroqui2754 2 місяці тому
I was there, great talk! Made me discover GirButler, super promising!!
@gitbutlerapp
@gitbutlerapp 2 місяці тому
I'm impressed you made the cut. I saw them ushering a hundred people out :)
@jasonhenson7948
@jasonhenson7948 2 місяці тому
Those packed aisles would have been a fire warden's nightmare.
@gitbutlerapp
@gitbutlerapp 2 місяці тому
@@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.
@acrophile8
@acrophile8 2 місяці тому
Found this fun and informative... love the Sneakers reference too.
@mrjvc
@mrjvc 2 місяці тому
Great talk! So many new gems to add to my workflow
@TheLegendaryBaum
@TheLegendaryBaum 2 місяці тому
Awesome talk!
@gitbutlerapp
@gitbutlerapp 2 місяці тому
If anyone has any questions or suggestions for the next version of this talk, we would love to hear them!
@ivanbessarabov690
@ivanbessarabov690 2 місяці тому
More about CRDT stuff :)
@iflux8821
@iflux8821 2 місяці тому
Close the cameraman in a closet before next talk.
@iflux8821
@iflux8821 2 місяці тому
On a serious note, stacked PRs could be a nice topic.
@gitbutlerapp
@gitbutlerapp 2 місяці тому
@@ivanbessarabov690 interesting, we could do more on that. :)
@antoy384
@antoy384 2 місяці тому
I’m at half and you haven’t made a demo of *git-bisect* with a 300GB repository yet ;)
@leonasdev
@leonasdev 2 місяці тому
Waht a great talk. I have same frustrating about that part of git does not record all the shit for me.
@kipchickensout
@kipchickensout 2 місяці тому
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
@aaronr.9644
@aaronr.9644 2 місяці тому
I didn't know about range diff. I do the same thing manually because I didn't realise there was a tool for that :)
@user-ho3pq3ut6q
@user-ho3pq3ut6q Місяць тому
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.
@CrtTsai
@CrtTsai 2 місяці тому
I enjoy this talk. Thank you.
@MelroyvandenBerg
@MelroyvandenBerg 2 місяці тому
Youre a great speaker!
@gitbutlerapp
@gitbutlerapp 2 місяці тому
Thanks!
@MelroyvandenBerg
@MelroyvandenBerg 2 місяці тому
@@gitbutlerappYou did had a typo at least once ;P It's `git maintenance start` not maintainance. But I forgive you.
@godDIEmanLIVE
@godDIEmanLIVE 2 місяці тому
That intro music is an absolute banger.
@hunghai6378
@hunghai6378 2 місяці тому
can you give me name of that song?
@gitbutlerapp
@gitbutlerapp 2 місяці тому
@@hunghai6378Billy Billy - Yarin Primak ukposts.info/have/v-deo/iXyZe6pnnKB2y4U.html
@hunghai6378
@hunghai6378 2 місяці тому
@@gitbutlerapp thank you so much
@WuddupDok
@WuddupDok 2 місяці тому
Fantastic!
@traal
@traal 2 місяці тому
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! 😊
@jesperjuhl6494
@jesperjuhl6494 2 місяці тому
Really nice talk. Thanks :)
@dennispagano10
@dennispagano10 2 місяці тому
Appreciated the Sneakers reference.
@charlesbenca5357
@charlesbenca5357 4 дні тому
really an amazing speech. thanks
@Synthetica9
@Synthetica9 2 місяці тому
Whoah that virtual branch stuff is exactly what I was looking for I expected you needed something like Pijul for that
@MikkoRantalainen
@MikkoRantalainen 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 UKposts comment interface cannot display that string correctly.)
@jlhjlh
@jlhjlh 2 місяці тому
"my voice is my passport, verify me" -- I love the reference! :D
@chaysesmith1873
@chaysesmith1873 Місяць тому
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.
@squidiebah
@squidiebah 2 місяці тому
Great session
@Leander_
@Leander_ 2 місяці тому
Fantastic talk!
@lpanebr
@lpanebr 2 місяці тому
13:01 WOW! That's the way to use blame!
@dc0d
@dc0d 2 місяці тому
Awesome talk! But I was looking forward to hear about "git worktree" too.
@user-lf5ld2ev4g
@user-lf5ld2ev4g 2 місяці тому
You are hilarious!!!!!! In the positive way !!!!
@harisonfekadu
@harisonfekadu 2 місяці тому
Awesome intro 👏
@Fazal828
@Fazal828 2 місяці тому
What a fun talk!
@GenshinContentHoyolab-mk4ic
@GenshinContentHoyolab-mk4ic Місяць тому
thank youuuuuu I just instantly subscribed
@Nerd3927
@Nerd3927 2 місяці тому
Excellent!
@ShortCodeDev
@ShortCodeDev 2 місяці тому
🎯 Key Takeaways for quick navigation: 🛠️ Git configuration: Learn to set up aliases using `alias` and `git config` for better workflow customization. 🕵️ Git Blame: Utilize `git blame` with options like `-L` and `-w` to get detailed information about changes in specific lines and ignore whitespace. 🔄 Git Log Options: Explore options like `-S` for pickaxe search and `--word-diff` for word-based diffs in `git log`. 📜 Git Reflog: Leverage `git reflog` to view a log of reference updates, helpful for tracking changes, especially after operations like reset. 🔄 Reuse Recorded Resolution (`rerere`): Enable and use `rerere` to automatically handle recurring merge conflicts, saving time during rebases and cherry-picking. 🌐 New Git Branch Options: Discover the `--column` and `branch.sort` options for `git branch` to enhance the display of branch information. 🌟 Git Column Command: Learn about the new `git column` command, a simple tool to format input into columns. 🚫 Force with Lease: Familiarize yourself with the `force-with-lease` option, a safer alternative to force pushes, preventing accidental overwrites of others' changes. 🔄 Force with Lease: A safer option for force pushing in Git. It checks for stale references before pushing, making it useful for scenarios like rebasing or amending commits. 🔐 Signing Commits with SSH: Git now supports signing commits using SSH instead of GPG. This is beneficial for those facing issues with GPG and provides a similar level of security. 🛠️ Git Maintenance: Running `Git maintenance start` in your repository adds a cron job for background maintenance tasks, improving overall performance by optimizing tasks like commit graph generation and loose object collection. 📂 Large Repository Handling: Tips for handling enormous repositories, with insights from Microsoft's efforts in making Git work well for large projects like Windows. This includes features like prefetching, commit graph, file system monitoring, and partial cloning. 🏗️ Sparse Checkout: Useful for monorepos, sparse checkout allows you to clone specific directories, reducing the amount of data fetched and improving performance. 🔄 GitHub Merge Options: GitHub offers various merge types like merge commits, rebasing, and squash merging. You can enforce these standards and auto-merge pull requests based on CI status. 📝 Linear History Requirement on GitHub: GitHub allows you to enforce a linear history, rejecting pushes with merge commits. This is useful for maintaining a clean and straightforward project history. 🔄 Pull Requests with Heads: Pull requests on GitHub have corresponding refs, enabling you to pull down and merge changes directly, providing an alternative to using the GitHub interface for merging. 🔄 GitHub allows fetching from various refs directly, not just adding remotes for pull requests. 🌿 GitButler introduces virtual branches, enabling simultaneous work on multiple branches without switching. 🚀 Virtual branches in GitButler facilitate handling features and bug fixes separately without commits into the feature branch. ❓ A question is raised about Git range diff, with the speaker suggesting it's not widely used in typical workflows. 🔄 Submodules are criticized for their limitations, and the trend is shifting towards mono repos for better project management. 🛠️ Suggestions for Git improvement include the ability to work on multiple branches simultaneously and automatic recording of all changes. 🚀 The speaker discusses their preferences for using both command line and GUIs, depending on the task, with command line being faster for most operations. 🤔 Future directions for Git are explored, with emphasis on improving the user experience for modern workflows, such as multi-branch development and comprehensive change tracking.
@jimmorrison2657
@jimmorrison2657 13 днів тому
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?
@JUMPINGxxJEFF
@JUMPINGxxJEFF 2 місяці тому
Nice talk, thanks
@r04te
@r04te 2 місяці тому
banger talk
@Gersberms
@Gersberms 2 місяці тому
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.
@dameanvil
@dameanvil 2 місяці тому
00:28 🎙 Scott Chacon introduces himself as a co-founder of GitHub and author of "Pro Git," discussing his history with Git and current projects. 02:27 🛠 Git has approximately 145 commands, categorized into main, manipulator, interrogator, interactor, and plumbing commands, with 44 main ones commonly used for tasks like add, commit, push, and pull. 04:23 🔄 Scott Chacon aims to refresh users on Git fundamentals and introduce new features added in the last three years, as many users may not be aware of recent updates despite Git's continual development. 06:21 🛠 Scott Chacon suggests setting up aliases for frequently used Git commands to enhance efficiency and shares tips on configuring Git globally or for specific repositories. 08:39 📝 Git's includeIf directive allows users to set up different configurations for specific directories, offering flexibility in managing work and open-source projects with distinct settings. 10:33 📊 Scott Chacon discusses helpful Git commands such as blame, log -L, and log -S, providing insights into tracking changes and understanding code history efficiently. 13:26 🛠 Utilizing options like --ignore-space-change and --ignore-all-space with blame command helps in better attributing code changes and understanding code evolution accurately. 14:55 📝 git diff --word-diff provides a word-based diff, enhancing clarity when reviewing changes, especially in code with complex formatting like CSS frameworks. 15:47 🔀 git rerere enables automatic resolution of recurring merge conflicts, streamlining workflows during operations like rebasing or cherry-picking, with minimal configuration overhead. 17:43 ⚠ Force with lease: A safer alternative to force pushing in Git, preventing accidental overwrites of others' changes. 19:36 🔏 Signing commits with SSH: Git now supports signing commits with SSH keys, providing an alternative to GPG for commit verification. 22:27 🛠 Git maintenance: Running git maintenance start improves repository performance by scheduling background maintenance tasks. 24:26 📁 Support for large repositories: Efforts by Microsoft have enhanced Git's support for large repositories, making operations faster and more efficient. 30:10 🔄 Partial cloning: Git allows filtering out blobs during cloning for faster downloads of large repositories, with options for selective data retrieval. 32:32 🗃 Sparse checkout: Useful for mono repositories, enabling selective checkout of specific directories, reducing overhead and improving performance. 33:57 🚀 GitHub features: GitHub offers options for enforcing merge standards, auto-merging, merge queues, and linear history requirements, enhancing collaboration and workflow management. 35:23 🔍 GitHub repositories allow fetching pull requests directly as refs, simplifying the process of merging contributions. 36:20 🔄 GitButler introduces virtual branches, enabling simultaneous work on multiple branches without needing to stash changes or switch branches. 37:44 🛠 GitHub's feature set reflects common workflows, which may explain why it lacks certain functionalities like Git range diff. 39:36 📦 Many are shifting towards mono repositories to mitigate submodule complexities, but it doesn't cover all cases. 40:33 🔑 Git allows specifying multiple SSH keys for signing commits, enhancing security. 41:32 🔄 Git prioritizes backward compatibility, maintaining consistency over introducing potentially disruptive changes. 43:01 🛠 Desired Git features include working on multiple branches simultaneously and automatic recording of changes to prevent data loss. 44:25 🔄 Git's evolution is influenced by its origins in patch-based workflows, limiting major user interface changes despite potential for innovation.
@gautamkrishnar
@gautamkrishnar 2 місяці тому
Great. video
@thekwoka4707
@thekwoka4707 2 місяці тому
ooh git butler looks dope
@FallenStarFeatures
@FallenStarFeatures 24 дні тому
TL;DW: Git is DIY version control. The less you know about git, the less likely you are to accidentally corrupt your repository. The safest way to use git is to each time, check out a fresh copy of your project, make your edits, and check it back in. Minimize the likelihood of repository corruption by making sure no one else checks out your project at the same time you're making changes. Keep archived copies of your project tree around locally and make multiple backups to be sure.
@MasterHobbitLoL
@MasterHobbitLoL Місяць тому
Great video
@hansvandenbogert8992
@hansvandenbogert8992 28 днів тому
the GUI vs CLI debate, I never think about that anymore since I started using Magit.
@KellyClowers
@KellyClowers Місяць тому
only thing I know for sure that was added recently was more a change, the default from 'master' to 'main' (about time!)
@movax20h
@movax20h 2 місяці тому
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 2 місяці тому
I know we're doing a git client, but I do have to say that git is amazing :)
@AV-dk7pf
@AV-dk7pf 2 місяці тому
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.
@dennisgonzales9521
@dennisgonzales9521 2 місяці тому
thanks!
@PinkPandaKatie
@PinkPandaKatie 2 місяці тому
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.
@wizpig64
@wizpig64 2 місяці тому
thanks for saving me uncountable hours!
@Little-bird-told-me
@Little-bird-told-me 2 місяці тому
Most important command I learned *git blame*
@fametheshit
@fametheshit 2 місяці тому
Very nice talk, I like his energy on the topic we all use all day! Is there any source for the intro song?
@arhontra
@arhontra 2 місяці тому
Great lecture. Could you please share what command you used at 7:50 as bb alias to print this nice version of the branches
@jerryphm
@jerryphm 2 місяці тому
Fantastic
@adrianroldan8864
@adrianroldan8864 2 місяці тому
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 2 місяці тому
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 2 місяці тому
@@gitbutlerapp thank you for the explanation. It makes sense and it's an awesome feature to have.
@savagepro9060
@savagepro9060 2 місяці тому
Wicked fkin opening soundtrack, bombaclaat!
@jpphoton
@jpphoton 2 місяці тому
Gold.
@PoPodkay
@PoPodkay 2 місяці тому
love it
@99codemister
@99codemister 2 місяці тому
I love the interactive add mention - seriously one of the three things I use `tig` for.
@DuRoehre90210
@DuRoehre90210 2 місяці тому
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?
@KarlOlofsson
@KarlOlofsson 2 місяці тому
I do a lot of code review and have been saved by reflog more than I care to admit 😅
@KarlOlofsson
@KarlOlofsson 2 місяці тому
I jump between branches a lot and sometimes mix up where I should commit or reset lol.
@HtotheG
@HtotheG 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 2 місяці тому
@@HtotheG I use stash a lot as well, can't be bothered to commit wip stuff all the time lol
@williedavis9465
@williedavis9465 23 дні тому
Nice Sneaker's reference
@thygrrr
@thygrrr 2 місяці тому
1:30 CVS, SVN, Hg, Git, PlasticSCM
@user-rr7di8lg8i
@user-rr7di8lg8i 2 місяці тому
cool video)
@Kirmo13
@Kirmo13 2 місяці тому
WHAT? this was in my home town and I had no idea 😢
@NyanCoder
@NyanCoder 2 місяці тому
I don't think I know Git. I just have enough knowledge to use it at a level that fulfills my needs
@MaxMalm
@MaxMalm Місяць тому
Great talk, are the commands listed somewhere for copy/pasting?
@Bobbel888
@Bobbel888 Місяць тому
Never thought, that there were tools properly managing deconfliction, while everyone is telling about His obvious insight.
@pagarevijayy
@pagarevijayy 2 місяці тому
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?
@hisuomi
@hisuomi 2 місяці тому
Hi, thanks for the session. FYI, you have a typo at 22:28
@JackEnneking
@JackEnneking Місяць тому
Namely `git maintainance` should be `git maintenance`.
@thislooksfun1
@thislooksfun1 2 місяці тому
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 2 місяці тому
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.
@bdougie
@bdougie 2 місяці тому
Squash and merge ✊🏾
@TheS0meguy
@TheS0meguy 2 місяці тому
_This is the way_
@arunsp767
@arunsp767 2 місяці тому
Am I crazy or the Thumbnail is a terminator holding a futuristic gun? 😄
@miallo
@miallo 2 місяці тому
14:35 On --word-diff - Sometimes it is useful to combine it with --word-diff-regex=. if you don't care about space separation as well
@LA-MJ
@LA-MJ Місяць тому
Google diff-highlight
Git Tutorial For Dummies
19:25
Nick White
Переглядів 955 тис.
Git MERGE vs REBASE: The Definitive Guide
9:39
The Modern Coder
Переглядів 45 тис.
How to get a FREE HYPERCHARGE SKIN!
02:07
Brawl Stars
Переглядів 13 млн
Спаси её волосы🙏🏻
00:40
БРУНО
Переглядів 2,1 млн
Мама и дневник Зомби (часть 1)🧟 #shorts
00:47
"Поховали поруч": у Луцьку попрощались із ДВОМА Героями 🕯🥀 #герої #втрати
00:15
Телеканал Конкурент TV - новини Луцька та Волині
Переглядів 91 тис.
So You Think You Know Git Part 2 - DevWorld 2024
23:02
GitButler
Переглядів 60 тис.
How Senior Programmers ACTUALLY Write Code
13:37
Healthy Software Developer
Переглядів 1,2 млн
Why You Shouldn't Nest Your Code
8:30
CodeAesthetic
Переглядів 2,5 млн
Using docker in unusual ways
12:58
Dreams of Code
Переглядів 371 тис.
The cloud is over-engineered and overpriced (no music)
14:39
Tom Delalande
Переглядів 164 тис.
The cloud is over-engineered and overpriced
14:39
Tom Delalande
Переглядів 76 тис.
What Everyone Missed About The Linux Hack
20:24
Theo - t3․gg
Переглядів 266 тис.
Become a shell wizard in ~12 mins
12:25
CODE IS EVERYTHING
Переглядів 173 тис.
Never install locally
5:45
Coderized
Переглядів 1,5 млн
What does larger scale software development look like?
24:15
Web Dev Cody
Переглядів 1,2 млн
How to get a FREE HYPERCHARGE SKIN!
02:07
Brawl Stars
Переглядів 13 млн