Using GitHub as a code repository for tutorial project - github

I`m planning a project, and was wondering if it would be a good idea to use GitHub as a code repository for the project.
The project is just me creating a single application step by step. In fact, it is more like me learning how to do it, and documenting my process, and letting other people tag along.
So step 1 could be setting up the project, step 2 how to organize the files, step 2 connecting to the database, step 3 how to do the UI etc. (btw. this is not how the project is set up)
The documentation would consist of a website with articles for each step and along with each step I want to enable the visitor to download/view the code for the project to the point where we are in the process.
I don`t know how top use GitHub, but I was planning on learning it as well. Would GitHub be a good way to share the code for a project like this?
Is there a way in GitHub to take snapshots, like step 1, step 2, etc., or would it be better to use branches or forks for this?
A nice feature would be the ability to correct the entire chain of steps if I find a typo in step one.
Does anyone know of an existing GitHub project that is set up in a similar way?

You could use GitHub, provided you push also tags for each significant steps.
(as explained in "How do I use github tags to create downloads for my project?")
That way, you can provide download links for each of those tags, even for the readers who don't have Git installed.
See "All of your downloads. One big button."

Related

How to go from "published code as a wiki" back to "provisioned wiki"?

Have read about differences of the two here: https://learn.microsoft.com/en-us/azure/devops/project/wiki/provisioned-vs-published-wiki?view=azure-devops.
Would like to try out code as wiki, however, want to have a backup plan in case I want to switch back to the provisioned one.
Once I have tried the "published code as wiki" does anyone know how to import the contents from a repo backup and make it "provisioned one"?
If you have already created a project wiki and add a code wiki, the two wiki's will coexist (see screenshot):
If the Code wiki is not the way to go, you can unpublish it only leaving the project wiki in place.
If the Code wiki is the way to go, removing a provisioned (project) wiki doesn't seem to be an option in the UI. Still, there are options to Delete default project Wiki in Azure DevOps using the API.
As another solution said, you can unpublish the Code wiki if you want to keep the project wiki.
If you want to keep only the Code wiki then you can download the project wiki as a git repo and replace all content. After having pushed the new content you can delete the (old) Code wiki.
Editing history will be lost but that is hopefully not important to you.

Is there a way to add custom "badges" to files on GitHub?

I have it in my head to help people at my company get better by finding a way to highlight and call out good code.
In particular, I'd like to be able to mark a file (not a repository or directory) as having a "gold star" (or another badge) so people browsing our source code who see the badge can see they're looking at a really good implementation they might take inspiration from.
I'm taking inspiration from the code owners feature on GitHub where there's a little padlock icon on a file if it's assigned ownership by the CODEOWNERS file.
Is it possible to do a custom "badge" on GitHub? If so, what's the API?
Browsing the GitHub documentation and searching online, I wasn't able to find anything explaining how to do something like this. Most folks were talking about the little images badges like the code coverage badges people put in their readme files.
Checkout this thread. You can submit feature request to GitLab and GitHub or in case of GitLab code your own feature and submit PR.
Here are some closely related discussions. Probably you have already seen them and are not looking for them but you might use them to get idea of how to create the feature that you want.
The Shields service (at shields.io) provides a way to create custom badges for your projects. These are badges are very common and are frequently used to show status information about the project, or demonstrate tools that were used for the development of your project. (...more)
Also checkout Bring Your Own Badge

How to merge two GitHub project boards?

I want to move the entire project board of a GitHub repository to another. Is there any way that can be done without manually copying each and every card.
Project board is a feature on GitHub to organize and prioritize work. More
Thank you.
EDIT:
When I contacted GitHub Support, I got the following response.
There isn't currently a way to merge a Project on GitHub, but I can
definitely see how that would be useful. I can't make any promises but
I'll let the team know you'd like to see us add this feature in the
future.

Directly open issue tab in github repository because this repo is just for issues

I want to open the issues tab when I open repository because I made a repository just for collecting the tasks for all my project , How can we do that ?
As #VonC has said, this is NOT configurable. It seems that what you require is an issue tracker and not specifically a repository. This articles may help you find an issue tracker that fits your purpose:
http://mashable.com/2014/02/16/bug-tracking-apps/
http://www.thegeekstuff.com/2010/08/bug-tracking-system/
Github's feature for referencing issues in commits automatically just by using the # and referencing commits in issues using the commit hash id is powerful. But is it a maintainable or scalable approach to handle issues from different repositories in one central repository? I do not think so. Issues are important in project development and should be kept organised the same way we keep code clean and organised.
However, this does not mean that it is not possible to maintain your issues in a single github repository. Instead of trying to have the issues tab open automatically, you may create a manual, as a README, for instructions on utilizing the reported issues. This manual will be shown to users visiting the repo. See https://github.com/keybase/keybase-issues as an example. You may find this github article useful in referencing issues.
This doesn't seem to be configurable.
That means you need to open your repo directly at the "Issues" page:
https://github.com/<username>/<reponame>/issues

Disable Source tab in Google Code

How to disable source tab in Google Code? I don't want any random users to look at my code.
Before you say that this can't be done, that Google Code is by default open source. Someone managed to do it, somehow.
Edit: Before you downvote me further, take a look at the link I provided. It's possible to do it, despite whatever you want to say. And I want to know how.
I don't want any random users to look at my code.
You can't prevent people from downloading the source code. Google's SVN repositories are open to anonymous browsing and checkout. For example, in the project you cited (the StackOverflow clone), notice that
svn checkout http://cnprog.googlecode.com/svn/trunk/ cnprog-read-only
works just fine for downloading the source.
If you don't want people looking at your source code, don't use a free public-hosting service. Setting up a local svn repository is very easy, in any case: here's how you'd go about setting one up and adding stuff to it.
In your GC page Administer|Tabs then check the hide checkbox next to Source. Your code will still be available via SVN though.
The whole point of Google Code is that it is for open source. That means everyone is allowed to see it. If you don't want people looking at your code, use some closed source hosting site.
You can replace tabs with Wiki pages (for example, to point to your GitHub repository), but you can't prevent access to the Google SVN server.