I Stopped Using GitHub (Kind Of)

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2023
  • Huge shoutout to Graphite for sponsoring this video and making a tool I can't imagine life without. Check them out! graphite.dev/?...
    Stacked diffs are definitely the future of git workflows, and I'm hyped I get to talk about them
    ALL MY VIDEOS ARE POSTED EARLY ON PATREON / t3dotgg
    Everything else (Twitch, Twitter, Discord & my blog): t3.gg/links
    S/O Ph4se0n3 for the awesome edit 🙏
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 200

  • @t3dotgg
    @t3dotgg  8 หลายเดือนก่อน +53

    Been using graphite nonstop since recording this and I’m even more sold. It feels like Tailwind when it clicks. Seriously y’all, I know it seems weird and scary at first but it is so much more pleasant

    • @spetz911
      @spetz911 8 หลายเดือนก่อน +1

      Congrats on reinventing Gerrit on top of GitHub 😊

    • @cristianjuarez1086
      @cristianjuarez1086 8 หลายเดือนก่อน +19

      youre always being "more sold" by products you talk about

  • @Vim_Tim
    @Vim_Tim 8 หลายเดือนก่อน +285

    The suggestion of spending more money, and more importantly the ramp-up time of all team members, is basically a nonstarter for most teams where the current Git workflows work well and are well-understood. Still interesting to see new ideas in version control.

    • @perc-ai
      @perc-ai 8 หลายเดือนก่อน +16

      nah we already switched to graphite at our company couldnt have said it better than Theo about graphite being the tailwind of css but for vc

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน +31

      (disclaimer: I'm an engineer at Graphite) - With the bidirectional GH sync and essentially fully featured product at the free tier, we've built this to be very easy to try out individually without needing to get your whole team bought in and invest in education up front. Our longer term hope is that this workflow gets more and more common, so that this barrier to entry eventually dissolves away!

    • @chocolatemilk124
      @chocolatemilk124 8 หลายเดือนก่อน

      Yeah but you literally can’t fuck this up.

    • @yiannis_p
      @yiannis_p 8 หลายเดือนก่อน +6

      Imagine if in tech companies didn’t improve or change just because it would take a bit of time or money…

    • @StabilDEV
      @StabilDEV 8 หลายเดือนก่อน +15

      @@perc-ai If TW was costing money everyone would use regular CSS just fine

  • @zksumon847
    @zksumon847 8 หลายเดือนก่อน +40

    I use Google Drive

    • @sryx
      @sryx 8 หลายเดือนก่อน

      I use src_backup_april_1st.zip :)

  • @brunocarvalho3361
    @brunocarvalho3361 8 หลายเดือนก่อน +114

    Sounds like 80% of this is just a couple of git commands that improve the mechanics of merging changes into remotely rebased branches

    • @t3dotgg
      @t3dotgg  8 หลายเดือนก่อน +29

      At least 50% yes. They did the hard git stuff so we don’t have to. The better ergonomics around reviews and notifications are a massive win though, I was using another product for that before and it was nowhere near as good 😅

    • @flarebear5346
      @flarebear5346 8 หลายเดือนก่อน +20

      ​@@t3dotggit's honestly a symptom of git being harder to use for new people. Atleast when it comes to my classmates I had to do a lot of convincing to make them learn git properly

    • @kenneth_romero
      @kenneth_romero 8 หลายเดือนก่อน

      @@flarebear5346This. A lot of people just want a GUI and for the thing to do a thing. I'm still learning Git in general, but my classmates make me more discouraged to dive deeper since they don't even know how to init a repo.

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน

      ​@@flarebear5346 (disclaimer, Graphite engineer here) - Totally! My first job was at a company where tooling like this was the default, so I honestly never really learned Git well until I started mapping these concepts on top of it to build this tool. At that job, the playing field felt much more level for junior folks because there wasn't a massive amount to learn before starting to be productive. Just make a small set of atomic changes, quickly push them up and get them reviewed, and make more changes on top if you need to :)

    • @scally9341
      @scally9341 8 หลายเดือนก่อน

      @@flarebear5346 Still in that phase myself. It's like my peers/classmates don't believe me when I say they *need* to learn git. It's not optional for most positions. Dudes are literally passing around Zip files to each other... Atrocious

  • @chocolatemilk124
    @chocolatemilk124 8 หลายเดือนก่อน +80

    Yo this is already my GitHub flow. Stacking PRs, rebasing, force push for clean commit log. The one thing I hate is approving PRs one by one and having to make sure the order of my stacked PRs are approved in the right order. Also having to update a previous branch in the stack and then rebasing all the stack above it individually
    Seems like this fixes this nuisance
    Edit: After using it this morning I can fully conclude that this is the shit. I had a backlog of 9 branches that I had to stack into a PR. All I had to do was run `gt track` and choose the parent for each branch I made before using graphite. Then I ran `gt-ss` and it stacked all my branches into a stack of PRs. Amazing. It turned out I had forgot to push a branch to remote and Graphite found it and recommended for the child to to track it. Sick!
    Cheers to the time save in the future

    • @noepion2474
      @noepion2474 8 หลายเดือนก่อน +2

      this indeed feels like a game-changer if you do a trunk-based/small PRs workflow. wow.
      If I start a company, I would only use this to force good behavior into people. It's just so much harder with traditional git.

    • @yash1152
      @yash1152 8 หลายเดือนก่อน

      this netizen language is soooo difficult. shit && sick. how am i supposed to read it??
      "sick" is somewhat old & ohkayish but now u guys are using even shit to mean good?
      u guys must be shitsick lol. get some meds, cure ur sickness, have a shit-free belly - u will feel good. trust me.

  • @ispepsi2023
    @ispepsi2023 8 หลายเดือนก่อน +25

    I have a hard time using GUI git tools and automated/abstracted commands for git operations and stick to using plain git cli. It took a while getting used to, and I'm not a git guru by far, I just feel more comfortable that way, rebasing, merging, cherry-picking, bisecting, hell, even patch adding, all on the git cli

  • @Corard
    @Corard 8 หลายเดือนก่อน +34

    I've only used Graphite for a couple of days but the stack diff workflow completely changed how I think about organising changes

  • @loganlandonline
    @loganlandonline 8 หลายเดือนก่อน +7

    cool but 30 per dev per month is ....INSANE pricing

  • @wata1991
    @wata1991 8 หลายเดือนก่อน +36

    ehhhh not paying $30 a month for this LMAO

  • @mmattbtw
    @mmattbtw 8 หลายเดือนก่อน +20

    idk microsoft word revision history is pretty crazy

    • @TheBswan
      @TheBswan 8 หลายเดือนก่อน +2

      I use Excel for version management

    • @Spiker985Studios
      @Spiker985Studios หลายเดือนก่อน

      ​@@TheBswanExcel's a database, right? /s

  • @muhwyndham
    @muhwyndham 8 หลายเดือนก่อน +3

    So basically graphite is automating rebase and force push. It's already my usual flow for 3 years now.

  • @andersreiche
    @andersreiche 8 หลายเดือนก่อน +4

    I mean.. Sure. But the workflows you are showcasing seems like a living hell to begin with. We should probably fix our processes so that we don't need to do stacked PR's in the first place.

  • @Nurof3n_
    @Nurof3n_ 8 หลายเดือนก่อน +4

    I'm one dev shipping to 0 users, I'll add this to my tooling!

  • @alanchung
    @alanchung 8 หลายเดือนก่อน +8

    this reminds me a lot of the gerrit workflow

  • @ShayRubachOfficial
    @ShayRubachOfficial 8 หลายเดือนก่อน +7

    That looks like a better looking Gerrit I've been using since 2017... stack diff looks very similar to Gerrit's "patch set" system

  • @justindoane7482
    @justindoane7482 8 หลายเดือนก่อน +1

    Is this just for teams that are all usijg graphite? What happens if your using a open-source project, can you still use graphite with it and others can use regular github?

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน +2

      (Graphite engineer here) We don't yet support submitting cross-repo PRs, but as long as you have write perms to the repo, you can adopt Graphite as an individual due to the bi-directional sync.

  • @3ventic
    @3ventic 8 หลายเดือนก่อน +6

    The review UI looks like a significant improvement over github. I'm not so sure about the local workflow; I love my git worktrees and existing shell shortcuts. I do already conduct my work in terms of changes; the initial commit for a change usually comes before its branch.
    I'm really curious how it handles the force pushes when you have someone else depending on your changes in their own changes and the new version you push causes a conflict with theirs. This has been the big pain point with force pushes in my experience and I don't see a clear way that Graphite could resolve that, being built on top of git still.

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน

      (eng @ Graphite) Because we track each branch as not just a pointer to a commit, but as a range of commits that can be moved around at will, we'll automatically pull down the new version of your coworkers branch and keep yours stacked on top of it - so we "restack" your changes on your coworker's!

    • @3ventic
      @3ventic 8 หลายเดือนก่อน +1

      @@Jacob-Gold it sounds like the equivalent of a rebase replaying the local commits on top of the updated remote branch, which is exactly what's caused me a lot of headaches in the past. Did I understand correctly?

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน +6

      ​@@3ventic Oops, looks like my reply never posted! We do something likely very close to what you used to do, with one key difference. The CLI tracks the _beginning_ of each branch as well as its parent, so when we "restack", we only replay those commits actually included in the stacked branch.
      To be concrete, let's say my coworker has a branch A consisting of commits 1-2 and I have a stacked branch B where I added commits 3-4. If my coworker rebases that branch, of course, new comits 1'-2' will be created. Now I update my copy of A to match. Running just a `git rebase A B` will attempt to replay all commits from the merge-base of A and B onto A, which results in replaying 1-2-3-4 on top of 1'-2', so you end up being asked to resolve conflicts between two commits that did the exact same thing. Instead, what we want to do is `git rebase --onto A B`, which will only replay 3-4 on top of A. Source: git-scm.com/docs/git-rebase
      The Graphite CLI keeps track of that in its metadata to ensure that you only ever get sent to conflict resolution when there are truly conflicting changes to resolve. If the explanation here wasn't super clear, we have a blog post coming out soon that explains this in more detail!

    • @3ventic
      @3ventic 8 หลายเดือนก่อน +2

      @@Jacob-Gold That's sufficient detail, thanks! I'll ultimately have to give it a try to form a full opinion.

  • @taliosnz
    @taliosnz 6 หลายเดือนก่อน

    Does "gt sync" require syncing to main/master? Or is that branch configurable?

  • @mburakerman
    @mburakerman 8 หลายเดือนก่อน +37

    this is definitely much more complicated than github flow.
    tell us theo how much did you get paid for this?

  • @pawan29121991
    @pawan29121991 8 หลายเดือนก่อน

    Is rebase concept came to have always an easy revert mechanism if anything goes wrong ?

  • @WanjasBely
    @WanjasBely 8 หลายเดือนก่อน +2

    It seems to be a very handy solution. I'm the person who is rebasing, force-pushing and approving PRs, but my company is quite small, so handling 2-3 peoples PRs that way is not that painful.
    I would try the Graphite's approach, but there some issues:
    * No Windows support (there is wsl and they work on native support, but right now I'm out of luck)
    * There is VS code extension, but no support for Intellij yet
    So I'll try it on Monday on my Linux machine
    I'm concerned how well a mix of Graphite and "normal" PRs on the same repo going to work together. Probably the only way to know is to give it a try.

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน

      (Graphite engineer here) Give it a try and let us know how it goes!
      We're working on better support for more surfaces like Windows and IntelliJ, I'd recommend joining our Slack community to stay up to date with that progress :) And there is actually a way to get the webview from the VSCode extension running in your browser via a CLI command that hosts the same server.
      With respect to your second question - lots of folks have successfully adopted Graphite individually within larger teams - we've invested a lot of time into ensuring the bidirectional sync works well from all angles.

  • @setoichiii
    @setoichiii 8 หลายเดือนก่อน +1

    definitely going to be checking this out.

  • @binh1298ify
    @binh1298ify 8 หลายเดือนก่อน +11

    To be honest I trust you (at least for now) so idc if you're getting paid or not, but this looks awfully compicated and i'm not so sure if it actually solves any problem 🤔

  • @fdimb
    @fdimb 8 หลายเดือนก่อน

    are there similar open source implementations?

  • @yyy5523
    @yyy5523 8 หลายเดือนก่อน +1

    I heard this same thing when I saw the Linus Torvals conference talk on git.

  • @user-uc6jl2jb3h
    @user-uc6jl2jb3h 8 หลายเดือนก่อน +8

    nice lgtm

  • @TheSephix57
    @TheSephix57 8 หลายเดือนก่อน +9

    Hard to trust your opinion when you're sponsored

  • @chyldstudios
    @chyldstudios 8 หลายเดือนก่อน +1

    Very interesting, thanks for sharing.

  • @NicolasEmbleton
    @NicolasEmbleton 8 หลายเดือนก่อน +2

    Next week news: "Graphite announces it has Joined Microsoft and will merge with Github"
    Very cool tool. Thanks for sharing.

    • @NicolasEmbleton
      @NicolasEmbleton 8 หลายเดือนก่อน

      This tool is like a Stash-on-steroids synced and mergeable. A big UX improvement on git.

  • @Nab_001
    @Nab_001 8 หลายเดือนก่อน +7

    Theo make feel like you are in a race whenever a new technology release he switches

    • @TheBswan
      @TheBswan 8 หลายเดือนก่อน +9

      That's a you problem. I like being aware of new tech, but I'm not interested in adopting everything. Like I get the value of this tool, but for my preferences I don't think it's worth the cost of additional abstraction. Make your own decisions and recognize that you can have the fanciest stack but it's only worth as much as you build.

    • @tapwater424
      @tapwater424 8 หลายเดือนก่อน

      Stop being susceptible to trends and just get good at the fundamentals. You're like a consumer drooling over Marvel merchandise. Or a moth to a lamp. Whatever you prefer.
      Most new things just reinvent the wheel without adding much benefit, often introducing problems that time tested solutions didn't face in the first place. We already see start-ups founded no more than 10 years ago struggle with technical debt because they chose a hype driven tech stack. Half of their choices are now deprecated whereas some 20-30 year old technologies still prevail.
      Graphite makes a Microsoft owned project, GitHub, a greater dependency of your workflow. It might not integrate well with different teams' workflow. It adds no extra features. It delays the day you'll eventually have to learn git (which is needed if you switch to a workplace that uses GitLab or Gitea). It seems that Graphite has forced the git usage with the worst possible GitHub experience to force reviewers to also use their product. If you want a clean commit history while having lazy commit habits just squash before merging.

  • @DeanRTaylor
    @DeanRTaylor 8 หลายเดือนก่อน +2

    It's interesting but it doesn't seem to drastically change anything, for most companies they're not going to pay for this and like react and other frameworks businesses will just go with what works and what is popular to make sure they can hire engineers.
    This feels like you need to know git already and then use this which again doesn't really make it appealing since you can do pretty much all this in git.

  • @asimpleguy2730
    @asimpleguy2730 8 หลายเดือนก่อน +1

    I don’t care a lot about the github notification, but having an easy way to track dependencies across PRs would be great since I’m often the bottleneck (team waiting for my review) and teammates have to remember to update everything in the correct order after approval. Problem is, convincing my team to use this :,)

    • @itsbazyli
      @itsbazyli 8 หลายเดือนก่อน

      You can do that in GH, just set your dependent PR's base branch as the other PR's branch. Once the other PR is merged, GH will automatically switch the base branch of your dependent PR to the branch the parent PR was merged to. Works great for stacking multiple PRs and keeping track of dependencies.

    • @asimpleguy2730
      @asimpleguy2730 8 หลายเดือนก่อน

      @@itsbazyli I didn’t know that, thank a lot! I’ll look into it to see if it covers my use case. Does it also prevents to merge the second branch if the branch it’s dependent on isn’t merged yet?

  • @pedrofirmino4732
    @pedrofirmino4732 8 หลายเดือนก่อน +2

    Omg I absolutely love this. Will try to implement this in my work asap

  • @Awxefgh
    @Awxefgh 8 หลายเดือนก่อน +1

    in summary,grahite grahite grahite

  • @odytrice
    @odytrice 2 หลายเดือนก่อน

    One feature that I think Graphite is missing that would make it an instant sell for me. Is the ability to create Stack Changes on Multiple Repos at the same time.

  • @parsanobahari6089
    @parsanobahari6089 8 หลายเดือนก่อน +1

    Pretty impressive. Does anyone have experience with magit?

  • @n4bb12
    @n4bb12 8 หลายเดือนก่อน

    I do stacked PRs all the time. I wish GitHub had better support for it. At least, they seem to have resolved the ghost merge conflicts that you get when the base branch auto-switches to main.

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน

      (Graphite eng here) - The best I can tell, they are still around - they just only show up when two consecutive stacked PRs change the same file, and you are using either Squash-and-merge or Rebase-and-merge. Our "Merge N..." button does a rebase in between each PR to get rid of the ghost conflict so that we can merge each PR without hitting the ghost conflict. We're doing some fun `git cherry` calculations on the backend to ensure we handle all the edge cases :)

  • @Alec.Vision
    @Alec.Vision 8 หลายเดือนก่อน

    This has been my git flow for a while, even without additional tooling. I get looked at like I'm insane... Maybe now I can convince some folks to get on board, since there's finally a cargo cult to join 😂

  • @emmanuelchucks
    @emmanuelchucks 8 หลายเดือนก่อน

    I couldn't exactly put my finger on it but this is what I have been looking for

  • @codeChuck
    @codeChuck 5 หลายเดือนก่อน

    Theo likes to use new advanced tools and likes to challenge the established patterns to get a speed boost to lead his team ahead of competition! (tRPC, tailwind, Next, Clerk, Upstash, Axiom) are all parts that he uses NOW (2023-2024), and Graphite is a new addition to simplify his github workflow!

  • @MikeKasprzak
    @MikeKasprzak 8 หลายเดือนก่อน

    Cool. Looks like a nicer Gerrit.

  • @sonofabippi
    @sonofabippi 8 หลายเดือนก่อน +13

    Zack Freedman said it best on his diamond nozzle 3d printer video --- "This video is sponsored. I love this so much I would have made this video anyway. I'm not shilling. I'm scamming. There's a difference."

  • @raphahardt
    @raphahardt 8 หลายเดือนก่อน +5

    What about handling conflicts?

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน +1

      [I work at Graphite] - When a restack hits a conflict, it puts you in the same that a git rebase would - so let's say I modify a branch which has another one stacked on it that changes the same file. The modify command under the hood would first amend the commit (or create a new one), then start the rebase. If your modification conflicts with the stacked branch, the CLI will then pause the rebase and have you resolve that conflict just like Git!

  • @neeeeeck9005
    @neeeeeck9005 8 หลายเดือนก่อน +12

    I always felt like Git was just a low-level tool, prone to mistakes because of human factor. What we really lacked was high-level workflow automation thingy like this one you showed to us, which basically handles things we don't want to care about.

    • @ivanjermakov
      @ivanjermakov 8 หลายเดือนก่อน +5

      The problem with simplicity is when you have some non-trivial case and simplicity just falls apart. It's not a big deal in case of Graphite, because you can always fallback to using Git.

  • @AlexandreMoreauLemay
    @AlexandreMoreauLemay 7 หลายเดือนก่อน

    I don’t understand the value proposition vs Gitlab MR + MR guidelines for small MR

  • @whywhatwherein
    @whywhatwherein 8 หลายเดือนก่อน +7

    too complicated.

  • @joshuakb2
    @joshuakb2 8 หลายเดือนก่อน +4

    My company doesn't know the meaning of the term pull request. We all push to the same server and there's no review process, which means force push is 100% outlawed. We always rebase local, unpushed changes, we never rebase anything that has been pushed already. Works pretty well for us

  • @rafalfaro
    @rafalfaro 8 หลายเดือนก่อน

    I gave up twice on learning git, until it finally clicked on the third attempt.

  • @aayush_dutt
    @aayush_dutt 8 หลายเดือนก่อน

    Do you use it at work with all your colleagues?

  • @BosonCollider
    @BosonCollider 8 หลายเดือนก่อน

    I use git-stackless for a similar reason. Pairs really well with gerrit at work

  • @opensourcedev22
    @opensourcedev22 8 หลายเดือนก่อน +1

    So we using zip archive now?
    Edit: 3:45 in .... we got jebaited

  • @devviz
    @devviz 8 หลายเดือนก่อน

    13:35 summary of graphite in a sentence (or two)

  • @tekkie_
    @tekkie_ 5 หลายเดือนก่อน

    For those who have worked at Google: this is basically just cl/ and hg on top of Git.
    But question: I have one big commit with bunch of files. Now I want to break into smaller stacked PRs. How?

  • @Dozer456123
    @Dozer456123 8 หลายเดือนก่อน

    I would've loved to see a conflict resolution at the base of a stack to see how graphite handles it as well

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน +1

      @t3dotgg said he might do another video about it, but you should try it out yourself! We tried to make it feel very natural coming from Git :)

    • @Dozer456123
      @Dozer456123 8 หลายเดือนก่อน

      @@Jacob-Gold Already have and it's great :)
      I'd love to use this at work but fear my company won't be open to onboarding more tooling with git access :(

  • @Treggats
    @Treggats 6 หลายเดือนก่อน

    Kind of my workflow for very large changes. Though a bitch to keep up to date. So it looks very interesting, but I'm worried about the amount of PR it generates.
    And the review combination between Github usage and Graphite usage would probably get messy. Will try using Graphite for reviewing though.

  • @laloqf
    @laloqf 8 หลายเดือนก่อน +1

    I feel like my workflow is similar like Graphite using only Git. I will have to test it to be sure😅

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน

      (Graphite engineer here) Let us know how it goes!

  • @filipmajetic1174
    @filipmajetic1174 8 หลายเดือนก่อน

    GitLab already does the "diff between force-pushed versions" btw, and the rest of it is just a handful of aliases/functions... not convinced this is *that* useful

  • @rogerpence
    @rogerpence 3 หลายเดือนก่อน +1

    "Huge shoutout to Graphite for sponsoring this video and making a tool I can't imagine life without." C'mon, Theo. I know you have integrity and I want to trust you, but, geeze, it pains me to see my YT faves carrying on about something "sponsored." You weren't just hyped to talk about Graphite, you were paid to.

  • @wasaabbi
    @wasaabbi 8 หลายเดือนก่อน +1

    I think you are little bit overhyped about this one.. Can be little bit more visually apealing - maybe, but if you get use to what info is where in gh not that much of a differnce. Cool shorter commands - yes - you can also achieve that having aliases in git. I do not see that big benefit for an developer to be able to save 30seconds of going through all of that shit.. to grab another coffee quicker?
    What would have bigger impact for my dev experience - having better diff tool and git integration inside VsCode, similar to the one IntelliJ has.

  • @omgCHopper
    @omgCHopper 8 หลายเดือนก่อน +1

    Too many abstraction layers away from Git. I just use git cli and once you learn that, you don't need all these abstractions that hide what's going on

  • @stercorarius
    @stercorarius 8 หลายเดือนก่อน

    I was using a tool called stgit which is similar to this back in 2015

  • @devviz
    @devviz 8 หลายเดือนก่อน

    3:36 everything is click-baity nowaways man, no worries; so basically we're just working git but with an abstraction

  • @LeonelViera
    @LeonelViera 8 หลายเดือนก่อน

    Pretty cool! The stack workflow seems really clean

  • @Dzatoah
    @Dzatoah 8 หลายเดือนก่อน

    Gitlab integration would be so fucking cool.

  • @zotoavinaandriamanamihaga6661
    @zotoavinaandriamanamihaga6661 8 หลายเดือนก่อน

    competition will be great for github

  • @portersky
    @portersky 4 หลายเดือนก่อน

    Looks like gerrit, but with nicer UI.

  • @animatronioboss
    @animatronioboss 8 หลายเดือนก่อน

    VS Code theme?)

  • @lautarodapin
    @lautarodapin 8 หลายเดือนก่อน

    mmm i don't feel the difference to using git, specially when you use all vscode commands for git

  • @Tigregalis
    @Tigregalis 8 หลายเดือนก่อน

    It's built on top of GitHub or it's built on top of Git?

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน

      Both!

    • @darksideishere
      @darksideishere 2 หลายเดือนก่อน

      GitHub is built on of Git, so both.

  • @darius5979
    @darius5979 8 หลายเดือนก่อน +17

    Theo is the tech industry's version of Karen.

  • @benve7151
    @benve7151 8 หลายเดือนก่อน

    0:04 that not centered icon triggers me

  • @NicholasStein
    @NicholasStein 4 หลายเดือนก่อน

    They should have called them layers...like photoshop.

  • @the.real.ipatch
    @the.real.ipatch 8 หลายเดือนก่อน

    wow 😳

  • @user1234-iu1jg
    @user1234-iu1jg 7 หลายเดือนก่อน

    No thank you, i can see the appeal. But this increases the cost and increases the complexity(more things to learn, ui, cli to get used to, abstraction etc).
    most of it seems to be some git commands and some small kind of svn ideas, which is cool, not sure what to think about it.

  • @tomfancode
    @tomfancode 8 หลายเดือนก่อน

    Next topic: I stop using computer 😊

  • @andresgutgon
    @andresgutgon 8 หลายเดือนก่อน +2

    Ineresting but not compelling enough for me

  • @rafaelwendel1400
    @rafaelwendel1400 8 หลายเดือนก่อน

    50% of that git has had for years and the other 50% Gitlab has. The dashboard is really clever, though.
    I figure it to be rather opinionated to say you didn't use certain git commands just because you're scared. Sounds not very convincing, but I kind of get it.

  • @Mostafaabobakr7
    @Mostafaabobakr7 8 หลายเดือนก่อน +2

    No

  • @redenvalerio601
    @redenvalerio601 8 หลายเดือนก่อน +1

    I think you just need to learn git cli, feature workflow and rebasing properly. Graphite will hide away all of that and when comes to edge cases that will likely happen, users without proper git knowledge will surely stumble since they are so used to these kinds of another layer on top of basic git.

  • @mpoliwczak
    @mpoliwczak 8 หลายเดือนก่อน

    Looks like gerrit

  • @tauiin
    @tauiin 8 หลายเดือนก่อน +1

    how fast is too fast

  • @sirsainted
    @sirsainted 8 หลายเดือนก่อน +1

    As a primarily back-end dev with longer lived branches (days vs minutes) in relatively static code bases (weekly to monthly releases) this seems useless for me or I just don't see a use case that's better than default git branch/pr/merge with stashes.

  • @iqbali4u
    @iqbali4u 8 หลายเดือนก่อน +1

    No thank you I do not want to learn another repository command lines.

  • @ivanjermakov
    @ivanjermakov 8 หลายเดือนก่อน +1

    I don't see much benefit of this for teams proficient in git. Usually, it's not git that slows devs down, it's the management software/code review workflow that takes longer than it should. Either because of the management mistakes or tools lacking on DX side.

  • @azeek
    @azeek 8 หลายเดือนก่อน

    Hi mom 😭

  • @elzabethtatcher9570
    @elzabethtatcher9570 8 หลายเดือนก่อน

    I didn't get what the stack is. Any way, it's great to see any new GUI that streamlines work over git.

  • @itsbazyli
    @itsbazyli 8 หลายเดือนก่อน +2

    I thought about this extensively in the past and I think we should go much further. Our IDEs should track the changes we make by saving AST diffs that retrace our steps, rather than plaintext diffs from commits. Commit is the wrong abstraction for changes. These AST diffs could then be rolled up to a single "chunk of change" (or commit). That way every "chunk of changes" could live independently of one another, almost like a Photoshop layer that you could toggle visibility for on or off. Git needs to be fundamentally rethought, and this isn't going far enough.
    This Graphite tool isn't the 10x improvement that would make me want to re-learn how I use git today, and I don't think it'll be sufficient for large orgs, given the learning curve that's already involved.

    • @tapwater424
      @tapwater424 8 หลายเดือนก่อน

      Do you mean regular trees, or do you want git to only work for languages that can be represented in abstract syntax trees?

    • @itsbazyli
      @itsbazyli 8 หลายเดือนก่อน

      @@tapwater424 I mean you'd get a better experience if you were to use a language with an AST representation, or some other more advanced representation of changes. Obviously for regular text files you'd still fallback to plain old diff, but even then you could still make rebasing less of a thing by having the editor track incremental changes much more granularly than by commits.
      Let's say you move a paragraph from 3rd line, to 5th line, and a different committer simultaneously adds a few words to that paragraph on the 3rd line. When you rebase against each other, right now you need to resolve that conflict manually. If the VCS were to track what *actions* you performed (i.e. "moving the paragraph down 2 lines", "inserting words inside the paragraph"), it could resolve the conflict automatically, by re-applying the same changes in the new position.

    • @tapwater424
      @tapwater424 8 หลายเดือนก่อน

      @@itsbazyli Sounds like it would be heavily integrated to the IDE then. Git's strength is that it works with any editor and it works nicely with almost any file.
      But more importantly: git is very performant compared to other version control systems. Internally git does not use diffs*, that's purely a human readable representation. Git stores a full blob for each version of a file. If you modify a 1 kb file six times it creates approx 6 kb of blobs. If git had to do expensive calculations for each operation it would be unusable with large projects. Large C++ projects are already impossible to compile on machines with 8 GB ram because the AST is too large. Imagine trying to store the one million commits of the Linux kernel as an AST in your computer's memory.
      *exceptions are files larger than core.bigFileThreshold (512mb by default) and some other weird heuristics

    • @itsbazyli
      @itsbazyli 8 หลายเดือนก่อน

      @@tapwater424 Well I see this IDE/editor integration as an optional addition. If you have it, you get better experience, but if not, you fallback to the regular diffing.
      As far as your performance argument, I completely disagree. One of my gripes with git is that it is incredibly slow when doing anything more advanced. Regular rebases sometimes take tens of seconds of computation, even on top-of-the-line hardware. The reason git is so slow is because it reapplies the same changes over and over, and does it in the filesystem.
      The layering system would be much faster, because if wouldn't need to recompute the same changes every time (they could easily be cached), and it wouldn't operate on the FS until all the operations were fully applied in memory.

    • @tapwater424
      @tapwater424 8 หลายเดือนก่อน

      @@itsbazyli are you a windows user by any chance?

  • @artyomnomnom
    @artyomnomnom 8 หลายเดือนก่อน +1

    This is not what I‘ve spent years honing my git skills for

  • @ankitsanghi
    @ankitsanghi 8 หลายเดือนก่อน

    This looks a lot like the tooling Google has. It’s not quite at that level, but it’s close. Really great to see this stuff be a thing outside the Google tech island now!

    • @Jacob-Gold
      @Jacob-Gold 8 หลายเดือนก่อน +1

      (Graphite engineer here) We have engineers on the team from both Google and Facebook (which has similar tooling) who also really miss it! Seeing people so excited to be able to re-adopt the workflow they used to have at companies with stacked changes tooling is one of our most important motivations! We'd love your feedback as we keep iterating on a version of this that works for all sorts of teams :)

  • @IshanAditya
    @IshanAditya 2 หลายเดือนก่อน

    Sigh... careful kids, there's no substitute to learning the hard stuff. Sure, you can hide and abstract away the hard low level internals, but like a wise man once said:
    "You can solve every problem with another level of indirection, except for the problem of too many levels of indirection"! (or something to that affect)
    ...and that was when they didn't have to pay 30$ for yet another abstraction. I'm sorry. No... NOPE!

  • @EmaSuriano
    @EmaSuriano 8 หลายเดือนก่อน

    Wow! I love the dashboard and I agree notifications sucks big time in GitHub. Thanks for the recommendation man!

  • @gabrielmedeiros9806
    @gabrielmedeiros9806 8 หลายเดือนก่อน

    I didn't see so much difference 🤔

  • @okbuhmah
    @okbuhmah 8 หลายเดือนก่อน +1

    So its just an abstraction of git for script kiddies. cool

  • @marco_ruizv
    @marco_ruizv 17 วันที่ผ่านมา

    An ad

  • @hicoop
    @hicoop 8 หลายเดือนก่อน

    This tool seems like a bloated git addon. I'd say half of these "oh-sh*t" features could be replicated with a free package, with no signups or credit cards required.

  • @keith-is-mad
    @keith-is-mad 8 หลายเดือนก่อน

    God that would be so helpful with big refactors! My nemesis of the month is trying to somehow split into reviewable PRs a changeset of +4000 -5000 where all things sequentially depend on each other. And before you say something like "that should have been decomposed in multiple tasks" - yeah sure I know, but I kinda want it to be done this year and not next one. So far merging the code takes longer than writing it.
    Ehh... I wonder how much effort it would be to convince the client that we need a tool like that.

    • @keith-is-mad
      @keith-is-mad 8 หลายเดือนก่อน +1

      It's a bit sad that their CLI doesn't work without integrating the github app which would need some convincing to do every time.
      I kinda get it's a team based pricing model, but as a contractor dev I would gladly buy right damn now myself even in limited functionality without the web UI part (even just for automatic "this pr depends on those other ones" comments). But as I understand the actual github api calls are made from their server.

  • @binitrupakheti4246
    @binitrupakheti4246 8 หลายเดือนก่อน

    Microsoft basically is selling us our own code by training copilot on it.

  • @novaz8936
    @novaz8936 8 หลายเดือนก่อน

    Ohh this is a shill so its sort of biased

  • @josersleal
    @josersleal 8 หลายเดือนก่อน

    AHAH... He got paid. Sold his soul

  • @leagueoflags
    @leagueoflags 8 หลายเดือนก่อน +4

    Theo, seriously stop the shilling. This is git with very minor improvements. Do not dilude your excellent videos with nonsense such as this.