#425

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

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

  • @anonymoususer6448
    @anonymoususer6448 2 года назад +19

    vsCode git plugins:
    if you _only_ use vsCode as your code-editor, you can use a git plugin in vsCode. That plugin provides similar capabilities as Andreas explained for git desktop, but now you can do them directly from your vsCode text editor. I have been using it for several years and I never had the need for git desktop.
    If you are using multiple code editors e.g.the Arduino IDE, vsCode, and others; and you want to avoid the command line, then the Git desktop is the way to go. ...It isolates any GIT related aspects from your other work.
    Great video as always Andreas...
    done by a real engineer; for (would-be?) engineers!
    Much appreciated ! :-)
    chrisV

    • @thorntontarr2894
      @thorntontarr2894 2 года назад

      As I use VSCode & PlatformIO exclusively, I wondered about this point, now I know.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +2

      I agree. I thought about it but it would have been too long. And usually, people who use platform.io are more advanced...

  • @r1273m
    @r1273m 2 года назад +9

    A really useful video. I have been using GitHub for years but in a very "clumsy" way; this has cleared up many problems and questions. Thank you.

  • @peircedan
    @peircedan 2 года назад +5

    Learning to use Git from the command line is worth the effort.
    Git is a handy tool even without github.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +5

      I agree. But a lot of people are scared and do not use it because of the command line. Maybe they will proceed with it when they are used to the process...

    • @steveb7600
      @steveb7600 2 года назад

      That is not really a helpful comment. learning to use any tool thoroughly is worth the effort but not likely worth the time for most peoples purposes.

    • @peircedan
      @peircedan 2 года назад +1

      @@steveb7600 Yes, well I considered saying why I thought it was worth the effort but thought I'd keep my comment short. Andreas has a point and I would not want to detract from that. I guess if one only wants to use git and github for file sharing then one does not really need to dig deeper. If the purpose is to use version control reliably it is probably worth the investment to learn the command line stuff sooner or later.

  • @abrahamnorthhampton3327
    @abrahamnorthhampton3327 2 года назад +5

    Andreas, I have been following your channel for a while, but this is the most useful video I have seen here. This clarifies so many things I have been wondering about Github. Thank you!

  • @DanielHofer
    @DanielHofer Год назад

    I'ts really spooky that when I search for a question, you already have the answer already made! Thanks!

    • @AndreasSpiess
      @AndreasSpiess  Год назад +1

      More than 400 videos can cope a lot of topics ;-)

  • @manliomalavolti9640
    @manliomalavolti9640 2 года назад +3

    Clear and precious knowledge as usual. Level of posts stunningly constant and high. Heartfelt thx. Manlio

  • @jeffbornes3986
    @jeffbornes3986 2 года назад +2

    As usual, Your videos are so clear and full of useful info... Many THANKS!

  • @debbie09090
    @debbie09090 2 года назад +2

    GitHub has been a bit of a mystery to me until watching your video, thank you I now understand what the pull requests are

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Glad it was helpful. This is the goal I had in mind.

  • @ivovass195
    @ivovass195 2 года назад +3

    Very nice intro guide for github. It can be tricky at first if you just started. The desktop github app is a great companion for frequent user. Thank you for sharing and teaching us something useful as usual

  • @remy44444
    @remy44444 2 года назад +1

    You explain the idea very well for beginners.
    It's interesting to restudy topics that I already know to assume how well and in depth you explain topics I have yet to study.

  • @avejst
    @avejst 2 года назад +4

    Great walkthrough of the process 👍
    Thanks for sharing your experience with all of us 👍😀

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Glad you enjoyed it! Maybe it will help to overcome the fear of some people.

  • @MartijnDonath
    @MartijnDonath 2 года назад +11

    You could add a credentials-example.h next to the ignored credentials.h so someone does not have to reverse engineer the contents of the original file.

  • @stitchinginthebarn8307
    @stitchinginthebarn8307 2 года назад +2

    Thank you very much! This is exactly the information I need to finish my senior EE project and get a job!

  • @thomasperri3294
    @thomasperri3294 2 года назад

    Viele viele dank Herr Spiess! Sie erkläred das wichtigste eifach und unkompliziert so wie immer!

  • @johnwest7993
    @johnwest7993 2 года назад

    Thank you, Andres. You have a knack for answering my questions just before I know enough to ask them.

  • @thorntontarr2894
    @thorntontarr2894 2 года назад +2

    You have saved me lots of time as I wondered about Github. Vielen Dank.

  • @acestudioscouk-Ace-G0ACE
    @acestudioscouk-Ace-G0ACE 2 года назад

    I'm not ready to join Git Hub, I have nothing useful for it yet but your introduction gave me clarity and the confidence to open an account when I need to. Thank-you.

  • @NBLeopard
    @NBLeopard 2 года назад

    I'm not a young person and this is the first explanation of Git and Github that has made sense for me - thank you very much. I might actually consider using it now. I am very disappointed by the comments that ridicule your video. A teacher must always present his/her advice at the level of the student - not at the level of the expert. And people who don't appreciate that make poor teachers.
    HOWEVER - and this is not a reflection on your video - I have had great difficulty with Arduino libraries that have been updated without being given a new name. I think it is essential that people should be able to continue with the earlier code if it suits them. For example, You mention a change in a library to match a newer Arduino version - won't that break code for people working with an older version of Arduino?

    • @jon_vannatto
      @jon_vannatto 2 года назад

      Most newer library revisions won't break compatibility with older versions but it does happen. In the Arduino library manager you can select the version of the library you want to use. This way you can stay on a version of the library that works for your code. The other option is to physically add the h. and c. files to your sketch folder and reference them in your sketch so they will remain working.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      I only had once a problem with versioning of Arduino Libraries (ArduinoJSON) where there was a break between V5.x and V6.x If this happens there are two possibilities: In Arduino IDE you can chose which version you want to install. You can also go back and install an old version. Second you can copy the library in the sketch folder and use " " instead of to reference the library. Or you use PlatformIO where you can decide which version the project has to use.

    • @NBLeopard
      @NBLeopard 2 года назад

      @@AndreasSpiess Sorry, forgot to check this earlier. I do know how to work around a changed library but I suspect there are many less experienced Arduino programmers who will not know. With them in mind authors should either ensure backward compatibility or give the incompatible library a new name - perhaps just add a suffix letter to the name.

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

    Very very helpful. Just what I needed! Thanks!!

  • @samuelschwager
    @samuelschwager 2 года назад +1

    If you accidentally push credentials to your repo I recommend bfg repo cleaner to get rid of them, very easy to use :)

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +3

      Thank you for the hint. I did not know this tool!

  • @alexandergmzx
    @alexandergmzx 2 года назад

    Crystal clear explanation! thanks a lot

  • @vng
    @vng 2 года назад +1

    A good practice is to have a development branch, and have all pull requests target the development branch. That way, once enough changes have been made, the devt branch can be merged into the main branch and published as a release. Those who want cutting edge stuff can still run off the devt branch, while those who prefer a more stable version can stick to the main branch.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +3

      I agree. But probably not for beginners :-)

  • @Ed.R
    @Ed.R 2 года назад +4

    Very useful to know about the .gitignore file when working with ANT+. Too many people share the ANT key which is against terms and conditions. It would be a shame to loose access to it.

  • @RanjeetSingh-nr5sg
    @RanjeetSingh-nr5sg 2 года назад +2

    Sir,
    Very nice explanation for me as a beginner.
    Please make some more videos in this GitHub series. That shall be very helpful.
    Thank you

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      With this know-how you should be able to understand a lot of the available videos.

  • @andreisima1977
    @andreisima1977 2 года назад +1

    Tracking thingy -> Version control, that is part of git in this case. The state of your local branch has changed from the last commit. You need to commit changes in local. Now your branch from origin is one commit back. Push local commits to origin. All is in sync. Is branch ready to be merged with master? Merge branch into master. Now master (stable release) is ready for the wild.
    Committing directly into master is a dangerous thing to do. Some (user) services are automatically updating the code if master changes. Imagine screwing up some code in commit.
    Also as a team developer i do not have acces to your code untill it hits master, this means that for testing and review is to late.
    Developers update feature branches 2~3 times per day. Pull requests are opened, reviewed and approved. If, for the moment, you work alone, try to use the branching, PR, Review, Merge to master approach, will help you when you will work in a team.
    Did not covered here the merge conflicts. Different story.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      I agree. But this was a video for beginners. There are plenty of videos where you can learn the hard stuff...

    • @andreisima1977
      @andreisima1977 2 года назад

      @@AndreasSpiess
      I do understand, but you talked about public repos, and how to support the community. Instead of forking a repo one can clone and start contributing to it. Forking it means that you might have x snapshots of the original master, i am not shure how you cand rebase or resolve conflicts in your branch if you do a pr and original master is ahead of your local forked master. And in this case my comment makes sense.
      Sorry but contributing to public repo is not for beginners.

  • @donaldklopper
    @donaldklopper 2 года назад +1

    There are so many reasons for non-developers to also use some kind of version control. Pity that binary files are such a pain with version control and that storage requirements escalate when committed files are binary, but it's still great for collab / version control / backups.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      For these files Dropbox is very good. They can keep many versions without problems.

  • @steven51612
    @steven51612 2 года назад

    I was just starting my GitHub portfolio!
    Thank you!

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Cool! So you are on your way to get famous ;-)

  • @-highvoltage4685
    @-highvoltage4685 2 года назад +1

    Thank you very much for helping people braking the fear barrier of using github
    You helped me a lot
    maybe it is a good idea to make another video about this topic?

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      This video is a complete underperformer. So the interest does not seem to be high :-(

  • @bfx8185
    @bfx8185 2 года назад +1

    I like TortoiseGit as a GUI client because it's integrated into windows menu and contains almost all possibilities as command line. And I also have VS plugin for VS Code and for Visual Studio as well.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      Interesting project. Thank you for the link!

  • @DrJALAGHARI
    @DrJALAGHARI 2 года назад +1

    Thank you so much for making this amazing and need of the hour tutorial. Really helpful.

  • @TheKetsa
    @TheKetsa 2 года назад +3

    Why avoid the command line...

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      Nobody said that you have to avoid it. I just know that it scares a lot of people...

  • @joeli2227
    @joeli2227 2 года назад +1

    Thank you. You’ve been very helpful learn software dev.

  • @lydiakrifka-dobes3710
    @lydiakrifka-dobes3710 2 года назад

    Thank you for this excellent video.

  • @blackkissi
    @blackkissi 2 года назад

    good starter video if you have not used git already. I would only like to point out a very very minor flaw in the video. 4:18 --> changed files can be added to the staging area. Once the files are in the staging area, a commit can be made. So what could be confusing from the boxes in the video, is the arrow named "commit" going into the staged area.
    [working dir] ---(add)--->> [staged area] ----(commit)----> [local git] ----(push)---> [remote git]

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      Maybe I mixed the "staging area" with the "local git". But I did not know better :-(

    • @blackkissi
      @blackkissi 2 года назад

      @@AndreasSpiess I did intend it in any bad way. I was just clarifying if someone else gets confused. As I wrote: "a *very very minor* flaw"

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      @@blackkissi No problem with me. I am also a casual user of GitHub. So it is well possible that I do not know the details.

  • @beware_the_moose
    @beware_the_moose 2 года назад +2

    I needed this ...I hate how unfriendly GitHub UI is!!!

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      They worked on the UI, also on the web. I hope they will continue...

  • @chuxxsss
    @chuxxsss 2 года назад

    Very well presented, Andreas. Busy week here, no gold, but a gold show for the first time in 2 years or more.

  • @dennislindqvist5461
    @dennislindqvist5461 2 года назад

    The primary purpose of a Git Commit message (comment) is not to state why a change was made. But rather a head line to what was changed.
    You can of course add why as well a couple of lines down in a commit message. But the primary objective is to create a chronological log of what has happened to the Git repository.

  • @electronic7979
    @electronic7979 2 года назад +1

    Faydalı bilgiler içeren güzel bir video olmuş. Teşekkür ederim

  • @zyghom
    @zyghom 2 года назад +3

    "You do not need GitHub to use git, but you cannot use GitHub without using git." - I think this sentence was forgotten today and IMHO it is important.
    Also: you actually don't need GitHub Desktop on your PC to use GitHub - most of advanced editors have "GitHub Desktop like" functionality embedded i.e. Atom, VSC etc.

    • @markday3145
      @markday3145 2 года назад

      I have used Sourcetree from Atlassian as my GUI front end to git. It can be used with any git server (not just GitHub), and with purely local repositories. I find it useful for exploring branch history; I find it easier to use than the command line, VSCode, etc.
      I have to admit that VSCode's git support has become quite good. I rarely need to use anything else.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      Of course you have plenty of other possibilities. My videos usually are focussed on one topic. Otherwise they would become too long and boring.

  • @smarzony
    @smarzony 2 года назад

    as always very educational :)

  • @dennislindqvist5461
    @dennislindqvist5461 2 года назад

    The fork *is* a repository.
    It’s just an on-line clone that you can master your self.
    And I assume by “your repo” you mean the *local* clone of the repository?

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      I mostly agree: The fork still is connected to the original while a "normal" repo is standalone.

  • @eduardo9626
    @eduardo9626 2 года назад

    Very important video! thanks for it! could you teach us how to work with Github straight from platformIo( vsCode) ?

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      This is not much different. You should find videos for that.

  • @gylotip8393
    @gylotip8393 Год назад

    I have a question: What is the purpose of Git if GitHub exists? Like, you can very well use GitHub for version control, while totally ignoring Git.

    • @AndreasSpiess
      @AndreasSpiess  Год назад

      I thought that git is the tool to use GitHub. But I am no specialist

  • @racingtogreen2023
    @racingtogreen2023 Год назад

    More good stuff!

  • @SamFugarino
    @SamFugarino 2 года назад +1

    Good video, but I prefer the command line. It's really quite simple. Matter of taste I suppose.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +2

      The CLI scares some beginners. That is the reason for this video. It is well possible that they will continue with the CLI as you do...

  • @sebakiller9736
    @sebakiller9736 2 года назад

    Best learn github thanks

  • @mischu860
    @mischu860 2 года назад

    Hi Andreas. I am living at the Lake. I would like to build a TTN LORA GW, so my Friends/Family can check where i am on the lake. Therefore, i need a very small LORA GPS Sensor to carry with me, which can send every 3-5Min my Position. The battery needs to hold about 4 Hours max. I think this case could help many People to see where a Sailing Ship, a Kitesurfer, or a Foilsurfer is at the moment. Do you might have an Idea how to realize this specific case. Regards from CH.

  • @docwolke
    @docwolke 2 года назад +1

    Very informative, thank you!
    I didn't used Github Desktop until yet, but it seemed very user friendly.
    But what is with the integrated GIT support of MS Visual Studio Code which you used also in some of your recent projects?
    I would be interested in a comparison of these two solutions.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      In Visual Studio Code you can execute the same commands (just another user interface). If you work with VSC you would not work with GitHub desktop. So they are not competitors.

  • @WacKEDmaN
    @WacKEDmaN 2 года назад

    i just use the web interface to upload...i tried Github Desktop a while back but didnt like it...
    ...i just push my changes when they are done...
    nice video Andreas!..covered everything ya need to know!

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Which web interface?

    • @WacKEDmaN
      @WacKEDmaN 2 года назад

      @@AndreasSpiess hmm ..github/new ...(cant put in addresses it deletes my comment!)..for new repos and then the "add files" and upload files button next to the "Code" button... can fork by hitting the button top right of the page.. and can do pull requests via the web/browser too...

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      @@WacKEDmaN Thank you. But are the changes also monitored on your PC? I find this a good feature of Github desktop.
      RUclips started to delete all links :-(

    • @WacKEDmaN
      @WacKEDmaN 2 года назад

      @@AndreasSpiess no..i have no need to have changes monitored my side... its a nice feature..but changes show on the repo when i upload the new version anyways..
      ...you can also edit the files directly on the site and changes show...

    • @alexandern8671
      @alexandern8671 2 года назад

      @@WacKEDmaN Sometimes it works if you put a space after each dot in the URL (URI). It prevents a casual user for clicking something malicious but indeed allows informing others of a useful link.

  • @Rothammel1
    @Rothammel1 2 года назад

    I use the Fork app

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      Seems to be an interesting alternative. Thanks!

  • @webslinger2011
    @webslinger2011 2 года назад

    Nice! Very insighful. Gotta remember to keep confidential stuff private. Thanks!

  • @prathambumb5593
    @prathambumb5593 2 года назад

    Thank You !

  • @shrikantnikam2426
    @shrikantnikam2426 2 года назад

    My fev subject

  • @mickgibson370
    @mickgibson370 2 года назад

    I have a GitHub account. I can not remember all the commands that make it go because I had a stroke 28 years ago.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      So maybe the GUI interface is easier for you.

  • @1over137
    @1over137 Год назад

    In work, day job, I advise engineers not to use GUIs. Or rather I tell them then the GUI screws something up, I will need them to explain to me what it was supposed to be doing and how it ended up. If you enable the debug output on Git GUIs you will fine they run dozens and dozens of commands, most of which you have noidea what they do. So when it goes wrong.. you have no idea why.
    If you then IM me to fix it for you, I am going to go to the command line. Use whatever GUI you like, but I'm not going to support it.

    • @AndreasSpiess
      @AndreasSpiess  Год назад

      You seem to have a lot of bad experience with GUIs. I still think that they are the next level of abstraction and that we will get the quality problems solved. Look at the millions of Smartphones in the hands of unskilled people...

  • @squalazzo
    @squalazzo 2 года назад +1

    there's a missing bit... github is important, linkedin too, but NOBODY will hire you, these days, if you don't know how to use a CLI... it's like "english": you NEED to know it, otherwise just go to do other jobs, don't waste your and others time...
    btw, obviously your video is good to explain general concepts about how all of this works :)

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      I agree. I heard that a lot of people never started with GitHub because of CLI. Maybe they will start like that and continue with the CLI. I also did not start with my Harley ;-)

  • @Cptnbond
    @Cptnbond 2 года назад +1

    Maybe it is worth noting that historically "main" branch was called "master," but Microsoft changed that for some unknown and questionable reason when they purchased Github. Typically MS breaks with existing well-established working practices of the open-source community. Cheers.

    • @keithr0
      @keithr0 2 года назад +2

      When using CVS, we called it the “Trunk”.

    • @jamesmor5305
      @jamesmor5305 2 года назад +1

      Master/Slave was racist, like most modern concepts in programming, only the naming, nothing else.

    • @cfusername
      @cfusername 2 года назад +2

      In this case they obviously did it to be politically correct, which is nowadays more important than everything else.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +2

      I remember the name. And I thought it is because of political correctness. I longtime stopped to complain about this trend...

    • @TheUnofficialMaker
      @TheUnofficialMaker 2 года назад

      @@cfusername so ridiculous to me

  • @tubeDude48
    @tubeDude48 2 года назад +1

    I *HATE* DropBox!!!

  • @terrydaktyllus1320
    @terrydaktyllus1320 2 года назад +1

    Nice video - but expecting to use a computer without using the command line is like expecting to drive a car without a steering wheel.
    Don't they teach kids how to "put letters into the right order to make words" and "put words into the right order to make sentences" any more?
    Are all school text books just full of pictures these days?

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      I do not know where it is going. What I know is that every generation left some lower-level things and added a few higher-level things to their toolboxes.

    • @qcnck2776
      @qcnck2776 2 года назад

      For me, it depends on what I am trying to do. If I am mostly interested in machining and write a little bit of code to share with others, it is not worth the effort to learn command line programming for git. I will have forgotten all the commands by the time I come back to it a few years later. But if publishing to gitHub is my regular job or something I do often, then it makes sense.

  • @yekutielbenheshel354
    @yekutielbenheshel354 2 года назад

    This is the first video of yours I downvoted. Yet I didn't even bother watching this video because it is absurd to suppose that Git on the command line would be too difficult for the overwhelming majority of viewers of this channel. It's like supposing a man who regularly lifts weights would have trouble picking up a glass of water because it was too heavy. Sheesh.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Did you hear that you must not use the command line?

    • @yekutielbenheshel354
      @yekutielbenheshel354 2 года назад

      @@AndreasSpiess No, I did not.
      What part of "... it is absurd to suppose that Git on the command line would be too difficult for the overwhelming majority of viewers of this channel" was unclear to you?
      Sure, of course I realize that for non-technical people Git on the command line might be daunting. But this channel seems to be targeted at technical people who could very easily learn Git on the command line.
      Frankly, I was a little disappointed to see you had posted a video on Git because it doesn't seem like a subject that belongs on this channel.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      @@yekutielbenheshel354 Maybe you read the other comments and then decide.

    • @yekutielbenheshel354
      @yekutielbenheshel354 2 года назад

      @@AndreasSpiess This channel is great. You do a great job. Really. You do a great job. Nonetheless, personally I have zero interest in learning about Git on this channel. Perhaps your other viewers will enjoy learning about Git on this channel. I don't know. Really. I don't know.
      Personally I enjoy watching this channel to learn about sensors and microcontrollers.

  • @redacted5052
    @redacted5052 2 года назад

    I don’t know who this video is for, but uh good luck teaching people to not eat crayons or whatever.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +2

      I do not understand :-(

    • @kbouwman64
      @kbouwman64 2 года назад +1

      @@AndreasSpiess He is taking for granted what he knows that others may not. He is saying that this tutorial is basic and that an audience that needs a tutorial this basic, if given paper and crayons, would think the crayons are candy and try to eat them. He is being a jerk.

  • @sledgeHammerRulez
    @sledgeHammerRulez 2 года назад +5

    unbelievable! I was just planning to learn github. Tx Andreas ... Do great minds think alike? :p

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      That's cool! So this video is hopefully a good beginning...