About creating a new project in GitHub - github

Kinda new to GitHub, I want to create a repository for my open-source project.
If my username is Bob, the link would be like https://github.com/bob/my-project
And you could visit my personal profile at https://github.com/bob
However, I have seen projects like this: https://github.com/ruby/ruby
My guess was: well, it means that there is some user called "ruby" who has a repository called "ruby".
So naturally, I could see this "ruby" user's personal profile at https://github.com/ruby... But you can tell that's NOT a normal profile. Instead, it is some sort of list for related repositories.
Well then, what is that? Am I supposed to do the same thing?

That is a GitHub organization.

It is an organisation. https://github.com/blog/674-introducing-organizations
On Github you can create organisations to organize members and repositories.

Related

Github organization invite v.s. request membership

I am making a small Git / Github demo for first-time users and want to use Github Pages, for which I needed to create a new Github organization. During the 30 min I'll have to do the demo, users will need to create new Github accounts and join the organization. Since I'll have so little time, is it possible for users to request organization membership, rather than me having to invite each person manually by email lookup?
I've seen this before but only through third-party apps. Is there no way to do this directly within Github?
Directly with GitHub, I have seen no evidence of that feature.
Through third-party apps indeed, yes.
As an example: benbalter/add-to-org would automatically add users to an organization.
For smaller teams, this may not be possible. The feature that you have mentioned seems similar to user provisioning and is available for Enterprises through Okta /Azure Active Directory. This link has more details on the User Provisioning.

fork repo from personal account into organisation acount

I developed a project on my personal github account.
I'm a member (not owner) of an organisation and would like to fork my project in the organisational account, such that the organisation can help maintain it in the future.
How is this done best?
As far as I understood, when I transfer or perform an import into the organisation account from my personal repo, I loose the project in my account which I don't want.
I'm sorry in case this is a "stupid" question - I'm pretty new to git and github...
Any reason not to transfer it, then fork it again back to your account?
That way you can still raise pull requests from your person fork back to the main one.
Thanks for all the answers.
According to the github support team:
Importing is intended to bring code from outside GitHub into GitHub, so that wouldn't be suitable.
and
Transferring would indeed mean you no longer had the repository on your account.
The solution for me was:
requested owner priviledges for the organisation (in case that would not be possible, ask an owner to perform the following steps)
went to the repository which I wanted to fork (In my case, this was on my personal profile and I was logged in with my personal account. I don't have any login informations for the organisation account)
pressed fork and there was a pop-up, asking for where to fork this repo
selected the organisation
I hope to help others in the future with this :-)
you should be able to import without loosing the project in your personal account.
This is what IMO makes the difference between transfer and import.
Be sure to login with your organizational account, if you have two separate accounts

github: transfer ownership and fork

I've transfered ownership of one of my github repositories (rdmuller/docToolchain) to an organisation (docToolchain/docToolchain).
So far, so good. All old URLs are redirected to the new location. Perfect.
But how do I now fork this repository? I fear that, if I fork it, a fork with the name of the old repository (rdmueller/docToolchain) will be created and the redirect will be broken this way...
how can I avoid this?
So, I guess I found a workaround.
suppose you have a repository
user1/repo1
You now want to transfer ownership to org1 and create a fork of it in your account user1.
The problem is that, if you create this fork directly, there will be again a repo called user1/repo1 and github is not able to redirect URLs to the old repository to org1/repo1
Solution:
transfer ownership from user1/repo1 to org1/repo1
create a temporary organisation org2
fork org1/repo1 to org2/repo1
rename org2/repo1 to something like org2/repo1-fork
transfer ownership from org2/repo1-fork to user1/repo1-fork
this seems to do the trick.
Since May 2020, Ben Balter (Senior Product Manager working on Community and Safety at #GitHub) mentions in his tweet:
We're beta testing a new GitHub feature that allows you to invite someone to manage your open source projects in the event that you are unable able to do so yourself.
If you'd like early access, reply or DM with your GitHub handle and I can add you.
See "Maintaining ownership continuity of your user account's repositories"
You can invite someone to manage your user owned repositories if you are not able to.
We recommend inviting another GitHub user to be your successor, to manage your user owned repositories if you cannot. As a successor, they will have permission to:
Archive your public repositories.
Transfer your public repositories to their own user owned account.
Transfer your public repositories to an organization where they can create repositories.

AppVeyor account for GitHub organization

I'm part of a GitHub organization developing a FOSS project. I'd like to run CI tests on Windows using AppVeyor. Currently I see my own fork of the project, and some other forks from people who have named me collaborator in GitHub. I don't see the upstream of the project, though. Apparently me being an administrator of the GitHub organization isn't enough to offer access to it in AppVeyor. But probably setting this up under my account would be the wrong approach anyway. Probably this should be under the name of the organization.
Towards that end, I'd like to have an AppVeyor account for this organization, with suitable permissions for its members. Reading http://www.appveyor.com/docs/team-setup it sounds as if AppVeyor could distinguish between users (with unique email and password) and accounts (to which projects belong), and a single user apparently can belong to multiple accounts while one account can have multiple users with different roles. In that sense, I'd like to create a new account without creating a user for it. Instead I as an existing user, identified by GitHub login, would like to become the first administrator of this new account, and ready to change settings and add more users. How do I do this?
You can't create a new account without a user. Just use some your email/password to create an account, then add existing user as collaborator.

How to know who is the maintainer of a GitHub repository?

Is there a way to know which people have merge privileges on a public GitHub repository. If the owner is a user and not an organization, then at least I know one maintainer, but it's possible that there are other users with merge rights. Also, if the owner is an organization it is possible, that not all members of the organization have merge rights. So is there a way to find the exact maintainers?
Team privileges are not public in general. Even an organization-membership is not public since the publicity must be chosen by the given member, as the Documentation states:
,,By default, your organization membership visibility is set to private. You can choose to publicize individual organization memberships on your profile."
This partly applies for their implementation of CODEOWNERS, too. If it is up to date the given source file is annotated with a link to its responsible GitHub user.
However there's normally no need to know the individual maintainers of a repository (since every interaction with repos you're able to access is covered by the GitHub UI, which also assures that somebody takes care about your request). If your attention is about a public repository you might search the commits for accepted pull-request. But in that case you would preferably fork the repo and just generate pull-requests on your own.
You are even not able to contact an organization via GitHub - try to find their official website, contact them and ask for their maintainers if you need that information.
GitHub (since July 2017) now officially supports "code owners" for projects. Code owners are individuals or teams that are responsible for code in a repository.
Project maintainers can add a CODEOWNERS file to their repository to make it easier for others to identify code owners and have code owners be notified to review Issues and Pull Requests.
See the announcement post and help article for more info.
Just go to the team members tab within your repo, on the right it will describe what type of member they are. Ex: member or owner.