Це відео не доступне.
Перепрошуємо.
Intro to GitHub - Commits, Issues, Pull Requests, Releases, and more
Вставка
- Опубліковано 10 кві 2022
- If you work with software, you have probably heard of GitHub. In fact, you may have some code on GitHub. However, you might not know the ins and outs of working with GitHub. In this video, we are going to set up a repository on GitHub, add code to it, review commits, work with issues, create pull requests, create tags, generate releases, and more.
Full Training Courses: IAmTimCorey.com
GitHub Repo: github.com/Tim...
Mailing List: signup.iamtimc...
I swear. Last night I told myself I needed to learn github, added it to my list as a priority, and then your drop this😂
That's awesome!
You are doing a great job. The man who guides the new generation.
Thank you!
This one was super helpful to me, thanks Tim! Not too many likes and comments compared to your usual work, but please don't be discouraged from this kind of "meta tooling" stuff that's pivotal to development, I really apricate your work.
Thank you!
Thank you Tim, your work is a ticket to anyone wanting to get into tech.
Thank you.
Uncle Tim, you exactly know what a developer needs to learn. Keep it going.♥
Thanks!
Thank you so much for putting this together. I’m an ex-TFS and VSS person and only started open-source contributions this years. Your demo is so helpful, thorough and well put together. 🙏
I look forward to seeing what other content you have.
I'm glad you got so much value out of it.
hi Tim!! would be great if you could a simulate how a teamwork would be done. Things like workflow, opening branches, opening pull request to someone revise, comment, approve. How to get back an unapproved pull request, fix and then request again.. Your content is one of the best out there, I love it! Thank you!
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Great suggestion!
@@federicodavia thanks! I posted on the suggestion app! Would be nice if people that agree with me upvoted!
Since @Leandro Manes cannot post links, here is a link directly to the suggestion: suggestions.iamtimcorey.com/Details/625597780b6906f2d6876bfd
@@lmanes I’ll go upvote it in the morning, for sure!
Thank you.
I would appreciate if you could explore some of the common GitHub automations.
Noted.
This was a super useful intro to GitHub+Visual-Studio. Thanks a lot, Tim.
You are welcome.
Wonderful, more please. Github explained in Tim's way = great. Thank you!🙂
You are welcome.
Outstanding explanations! As a newbie I didn’t realised how powerful GitHub is and before knowing about how to use it I just did those shameful copying all of code to special folder and manually wrote notes about what I did.
I'm glad it was helpful. Don't feel bad about what you used to do. That's pretty common (I did it that way).
@@IAmTimCorey thank you for kind words Tim!
My team doesn't want to even think about switching from tfvc, but i personally do, thank you Tim, great video as always.
You are welcome.
If there were a double like button, I would have clicked that as well... Really appreciate the effort... Looking forward to more videos related to GitHub specifically GitHub Actions...
Thank you!
@@IAmTimCorey it is really a great vid can you make an other more in depth CI/CD and devops with github actions pleaseee and keep going
Hello Tim, this is the best GitHub tutorial I have ever seen. Thank you so much for sharing this valuable information. I am looking forward to learning more.
You are welcome.
Fantastic Video. I wish there was a part 2 for Actions, Projects, and covering the typical scenario where your pull request is denied because you didnt meet coding standards or something where a Sr Developer enters notes for you as to why you was denied, and reverting back.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
For someone who has not really used GitHub before (only used SVN) it was a bit fast and hard to keep up with sometimes. However, it just meant I needed to pause & rewind a few times (I couldn't always see where you clicked, etc). Thanks for a great intro.
Thank you Tim. Very informative and educational video. Must watch for all begginer.
Glad it was helpful!
Thanks for this, great starting point!
You are welcome.
Hi TimCoary,
Thanks for giving us such great content.
It help us a lots.
Please upload more videos about GitHub that helps to work as Professional developer
You are welcome.
Waiting for full GitHub course with common GitHub flow and as always thank you for your wonderful way of teaching
You are welcome.
i really love this channel. keep it simple but informative for every step you do in your videos. thank you!
You are welcome.
Hi Tim, Thank you for the this. Git can be overwhelming. Would it be possible to have a video showing how to rollback to previous version? Thanks again!
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
Dear Tim,
The best ever video i seen about GitHub.
Highly appreciate you're time and effort on creating such a helpful content.
Thanks a lot. ♥
You're very welcome!
This is the best video on GIT HUB, Got one question : In which situation do we have to merge our developing (Working) branch into Main ?? The other way round is from this video tutorial. Thanks in advance.
I did it in this video, but we merge into main when we have completed the work on the working branch (fixed the bug, added the feature, etc.) That is also what a pull request is - a request to merge changes into the main branch (or whatever branch you are targeting).
After watching this, I decided to practice the basics. Not sure what I did, but VS would immediately crash as would VS Installer.
On starting my Win VM, I got bunches of corrupted iCloud exe errors.
So, I copied all my current work to One Drive and rebuilt the whole 500 Gb VM. It took Acronis about 12 hours, but all is good.
Yesterday was a real pisser!!
Those are always frustrating days. Glad you made it through, though.
Thanks Tim, Other very good explained example of how to use a very important tool for all developers. Thanks for your content, I really appreciate. It will be really interesting one example of SQL project in Github like a Stored procedures, functions, views, etc.
Great video! One suggestion please change your github background to dark as well as any other windows you use in your course material. I have eye problems and it is very hard to see the windows, thanks. I really enjoy your content!
Thanks for the suggestion. It bugs me too. The only problem is that some sites don't have great dark modes. I'll test GitHub to see if it shows up well on video and, if so, I'll leave it in dark mode.
I haven't watched it yet but this the tutorials that I need so I already like it, gonna watch it later, huge thanks for this!!!
Hope you enjoy it!
Hi Tim, it would be great to index this so it would be easy to goto sections of interest. Thanks for providing it - great stuff.
The UA-cam chapters for my videos come from my viewers. I don't have the time to go back through them, but if a viewer provides the chapters, I will add them to the description so that everyone can benefit.
Beautiful demo. Thank you so much.
You are welcome.
thanks Tim...as usual great content.
You are welcome.
@@IAmTimCorey I'm enjoying your web dev master course by the way. You have really made a big impact on my development life. I guess I'll be doing many more of your courses over time...Thanks
Great lecture/demo as always! One question: I’ve seen various views on whether your main (or master) branch should be your production branch, and use other branches for development, or whether your main branch should be a dev branch and have a designated production branch; what are your thoughts?
This is a preference, but I think it should be a rule: use main for your development branch. NEVER production. The reason why is that when you clone a repo, you are on the main branch by default. If you don't have the right rules in place, you could potentially update production with non-working/non-tested code.
@@IAmTimCorey thanks, having that reasoning helps understand. When you do the GitHub Actions CI/CD video, please demo how to set up pushing the code from the main (dev) branch, to the production branch (via staging, I guess, if there is one), and how that flows into the CI/CD pipeline.
Thank you for the walk through! As someone comparing GitHub to Bitbucket, I would be curious to know differences and if you prefer one over another. I've read that Bitbucket is geared more toward private repos vs. GitHub which favors public, but haven't really seen a lot on why that is.
I'm still on minute 6, but I have a suggestion (it's more like a preference though), I think it's nice to see your face while you go through the explanation, like the streamers do when they are playing you know? So your face would be on a small window at the right bottom corner, for example. I don't know why but it keeps me focused when I see a video on UA-cam like this.
Good job, let me go back to the video :)
Thanks for the suggestion.
@@IAmTimCorey I just wanted to add my opinion. I think your videos are perfect they way they are. I really dont see the point of adding your face unless someone reads lips. To me it would just be distracting plus it might block something on the screen I need to see.
Tim doing things absolutely right and camera will be just a distracting factor. He is not a streamer. He is a tutor and he is great at it.
One thing I would love covered is Packages.
Would be nice if it was even possible for github to post to nuget for nuget packages as well for class libraries.
It can.
You sir.... are awesome !
Thank you!
Whenever I've tried to create a project named the same as an already existing folder with files in it, Visual Studio presents objection message and doesn't create it. VS insists it has to create the folder.
Hello tim,
What if my project already exists locally and then I want to create it on GitHub and sync both? i could not find out how to do so.
thank you
I cover that in my Git course, but you can either open a command prompt in the root of your directory, do a git init, and then set your GitHub repo as your upstream or you can clone your GitHub repo to an empty directory and then move your files over. The first option is a bit cleaner, but it means you cannot initialize your GitHub repo with a Readme or gitignore file. Otherwise, you will have two different starting locations for your main branch, which will be a problem that you need to resolve. It is possible, but easier if you avoid that issue by taking the second route.
@@IAmTimCorey Thank you!
Thank you for this video. Can you also do another one on unit testing?
Like this one? ua-cam.com/video/ub3P8c87cwk/v-deo.html
What are the advantages of using github over running your own git server?
It is backed up and maintained by GitHub (instead of you). It includes Issues, Actions, Projects, Wiki, and more (those are all additional systems that you would need to purchase if you hosted git yourself). It is the most common place to host source code, which means potential hires will probably be familiar with it (there are tons of videos and blog posts explaining the GitHub setup - there are none explaining your custom setup). The list goes on.
All very valid I agree. Do you have any particular concerns about your source assets being on a third party server? Obviously everyone using github would have in place their own independent backup strategy. ;) I admit to having some residual ickiness about having my code "on the cloud, somewhere" where I don't have total control over it. But convenience can win me over.
If I delete a file in Visual Studio and then commit and push, the file still exists in GitHub. Do I need to manually delete the file in both places? One person said that I need to stage before I commit. Is that true? I don't know what staging does. That seems like an unnecessary extra step between my VS code and the origin. If I just commit and then push, does it skip staging? So then staging is out of sync with everything else? When I do a pull from the origin, does it automatically update staging, the local repo, and my local code all at the same time?
Git has three states for changes - the working directory, staging, and a commit. When you make a change, that change happens in the working directory. Then, you stage the changes you want to commit. Finally, you take the staged changes and bundle them all into a commit. That commit is now a bundle that can be passed around to other copies of your repository (such as GitHub). Every time you commit, you are pulling the changes from stage. Now it sounds like you aren't staging any changes, which means you probably told the tooling to just stage all changes if you don't specify any. That only works in the UI, not on the command line. However, you are still staging your changes. It is just being done for you. The reason why we have the staging step is because you don't always want to commit all of your changes. You may want to commit only some of your changes in one commit and then the rest in a second commit. This allows you to keep your commits small and focused, which allows for easier rollback and a better understanding of what all is in a particular version (which is a set of commits).
If you delete a file locally that is a part of your repository and you commit that change (including the deletion - it should be listed as a change) then when you commit your changes and push that commit to GitHub, the file on GitHub will go away. If that is not happening, something is not correct. It may be that you aren't actually staging the deletion or it may be that the file wasn't a part of your repository. Another possibility is that you updated your .gitignore file to not track that particular file (or type of file) and then you deleted it. It would delete locally but it would not track the deletion so it would not commit the change. Therefore, it would not delete it from GitHub. In that case, the easiest thing to do would be to delete it on GitHub, which creates a commit. Then pull that commit down.
@@IAmTimCorey Awesome response. Thanks a million!
This was great, thanks!
You are welcome.
Tim, at 40:57 why did you use the command "git switch -c", instead on "git branch -b" like you taught in your Git tutorial video? Do they both create a branch and switch to it?
The strange thing is the command line for git does not work with windows 11. The only way I was able to get this to work is I had to use the feature to do through visual studio. Not sure why but somehow visual studio always magically works with github but if somebody tries without visual studio, it says does not even recognize the git command. I think its possible they want you to use visual studio for git stuff for now on. Should just work on a freshly installed windows 11 computer.
In order for git to work on a fresh installation of Windows 11, you need to install Git. Visual Studio installs some things for git, but if you want everything, you need to actually install git from www.git-scm.com I can verify that it works just fine on Windows 11.
@@IAmTimCorey thanks
It never let's you create a folder that already exists especially if it already has git setup on that folder...
You can initialize an existing folder using "git init". However, if you are trying to connect an existing local git repo to a GitHub repo, you would do "git remote add origin ". The only tricky bit will be if you initialized the GitHub repo with a Readme and/or .gitignore file. If so, you will have commits on the GitHub side and commits locally and they don't have a common history. In that case, the easiest thing is to start over on GitHub and don't create those files so you don't have a commit on the server. If you absolutely need to keep both, you would probably need to merge the two doing "--allow-unrelated-histories", but that's not ideal.
@@IAmTimCorey I think he meant in VS. I’ve seen that same error pop up before, even when the Project and Solution name were different, when trying to create a new solution in a folder that exists, and that was with VS2019 and the older templates that didn’t create a separate folder with the solution name inside the solution folder.
Hi Tim... Great Job as Usual :-)
I get the following error message below when using "git clone" in PowerShell
git : The term 'git' is not recognized as the name of a cmdlet, function, script file, or operable program.
It sounds like you don't have git installed on your machine. Go to git-scm.com and install it.
Hi Tim, how do you untrack and ignore the appsettings.json file on initial commit of project files? Working with an existing project and pushing from the Git tool out of Visual Studio.
I would recommend against doing this. There are other places to put the settings besides appsettings.json file in the case where you have some type of secrets to protect. If you don't include the appsettings.json file in your repository, you would need to manually add it every time you cloned the repository, or your app would not work. I have a whole course on how to properly use appsettings.json: www.iamtimcorey.com/p/net-core-appsettings-in-depth
@@IAmTimCorey Hey Tim, thanks for getting back with me on this topic. You have a valid point. I have to look into your course. Cheers.
@@IAmTimCorey Would you suggest appsettings.json course with your GIT course as well?
What happens if somebody is permanently locked out of their account. What happened was I lost my old email address. Then when I tried to log in, it sent a security code to the old email address that I don't have anymore. Is there a way around it? If not, then that means all the github projects are suddenly gone.
You can try contacting support, but if you didn't include a backup email, there probably isn't much they can do.
Is there a way to download a git branch to your local machine? The clone is not working because it downloads the main hub
There’s lots of ways. Here is an article on some of your options: www.freecodecamp.org/news/git-pull-remote-branch-how-to-fetch-remote-branches-in-git/
Thank you sir...
You are welcome.
How to fork the project and merge some codes from both forks?
You make a pull request, which I covered.
thk u
You are welcome.
Great !
Thanks!
@08:52 I don't have that option, what do I do?
Then open up a Terminal window by loading Terminal (or command prompt or PowerShell or Bash) and changing the directory to be the directory you are working with.
Use fork or branch for multiple developers contributing?
Branches. Forks are for contributing to someone else’s repo.
Could you chapterize please ?
Chapters come from my viewers. I don't have the time to go back through and add chapters, but if you would like to suggestion chapters, I will add them to the description.
The reasons why you must NOT use github:
- Command line interface which is not intuitive except for people who haven't used graphical user interface
- Weird naming just to make it look something special and smart but it's not, and just confusing (e.g. repository, local, remote, branch, push, pull, merge, pull request)
- You cannot delete what you want to delete, which constantly makes your log messy and gets you confused
I understand your frustrations (I've felt them before as well), but they are misplaced. Let me explain. First, GitHub is not Git. The two are different things. GitHub uses Git. A close analogy would be that GitHub is like a garage and Git is the cars. Next, the command line is something you need to learn before you start using it. Trying to dive into it (or trying to use a GUI version) without understanding what Git is and what it does is a recipe for disaster. You say that the naming is "weird", but once you actually understand what Git is and what it does, the naming actually makes a lot of sense. For example, "repository" isn't a Git-specific word. The word repository means "a place where things are deposited". Since they needed a word for the place where you store your source code, repository (often shortened to repo) makes sense. "Local" means the repository on your machine (local to you). "Remote" means the repository away from you (not on your machine). Again, these are English words that are used appropriately. "Push" is when you send code from your local repo to your remote repo. "Pull" is the opposite - you are bringing code from your remote to your local. Again, these are English terms that are used outside of software development in the exact same way. Even doors are marked "Push" and "Pull". "Merge" means you have two different versions of your code and you want to combine them into one. "Pull Request" is probably the most complex to think about, but it also is extremely clear. When you make changes in your copy of a repo, and you want to put your changes into a version of the repo that you do not control (and have no permissions to), you bundle up your changes. You then go to the other repo and say "Hey, I have changes that I think you want. Can you put them into your repo?" You are asking the owner of the remote repo to pull your changes from your repo to their repo.
You can delete whatever you want to delete in Git. It is as easy as saying "I'm deleting this" and committing that change. However, it sounds like you want to delete it in a way where it cannot be recovered or viewed. The problem there is that Git is not just about the code as it is today. It contains the complete history of the changes to your code. That's the point. Otherwise, you just need a file server. So if you want to delete the file and also erase all history that the file exists, you need to do more work. That should make sense. In terms of people, you aren't saying that a person died, you are saying that there should be no evidence that the person ever lived.
I would recommend that you actually learn Git before judging it. You obviously don't have a lot of training in it, which makes judgements almost impossible to make. Learn it well, understand it, and use it a lot. Then see what you think. There is a reason why Git is the #1 source control on the planet and why GitHub is the most popular place to host Git repos.
@@IAmTimCorey what a brilliant explanation! For me also that was very important to understand those things as a non-native English speaker.
GIT has a lot of problems.
Every piece of software has a lot of problems. If you evaluate software based upon if it has problems, you will never be able to use any software. You need to evaluate it in comparison to your other options. Right now, git is the most complete, most powerful, and most adopted source control on the planet. It would take a tremendous effort to change that.
@@IAmTimCorey I have worked with PanValet, Livrarian (ADR), and Vault. The thing about GITHUB is that it is built on GIT. Sometimes, especially with merge resolution, you need the ability to run GIT console commands. Most of the time I can fix these in GITHUB, but not always, and I do not have access to the GIT console commands on the GIT repository at work. I did appreciate your video -- it is an intro, as you state, but I have never used GIt to track and assign issues or to create releases. So I learned something valuable. Thanks for the video.
GIT is a big area, harder in many ways than learning C#. A more advanced video on trouble shooting merge conflicts would be helpful.
I do have a video on Git itself: ua-cam.com/video/ugN-IYV1NTM/v-deo.htmlsi=D86SXAzZseP7XqZp
Also, you can get a console command by hitting the period key when on any GitHub repository. That will open up VS Code on the web for you.
@@IAmTimCorey Thanks for your response. Very kind of you. I tried the period but I still could not get the GIT console commands to work. I talked to the manager and he said those console commands are locked down.
However, I was able to solve my problem. I had caused the problem by changing some class names by capitalizing the first character in an old application I was fixing up. This caused confusion in GIT as it thought there were twice as many distinct classes classes and tried to apply all updates to both the real classes and the fictitious classes differing by the capitalized first character. So I created all new classes with much better names, copied my code to the new classes and renamed the classes. (I had dependency injection on every class which made changing class names super easy.) Then I deleted all of the old classes and files -- I had to sync everything in VS. Then I republished the whole project to a different GIT repository and had the manager delete the first GIT repository. I lost some history, but in this case I don't really need it.
My point is that GITHUB has problems, and it is more difficult than Vault, VSS, and others in some ways. But you are right -- it does work, and one can develop expertise in it if one is persistent and learns to solve issues with it. I've been confused by it a few times but fortunately never stumped.
I love your videos. You are very kind to try to help others.