Skip to content

Latest commit

 

History

History
112 lines (77 loc) · 4.74 KB

File metadata and controls

112 lines (77 loc) · 4.74 KB
  • software configuration management (SCM): Configuration Management is the process of keeping a product healthy, considering its quality attributes. A SCM identifies unique versions of software artifacts as configuration items (CIs) and tracks their changes over time.
  • version control system (VCS): This sort of software keeps track of every version of the files, making it easier to control the CIs. It's part of the responsibilities of a SCM.

terminologies: Working Tree, Repo, Hash, Object, Commit, Branch, Remote, Commands, Subcommands, Options, Bare Repo.

Object types: blob, tree, commit and tag Working Tree info: names, hashes and permissions. Commit: A version of the tree. Tag: Name attached to the commit. Bare Repo: The central repository. Receives changes only via push.

Github: Provides an AI powered developer platform to build, scale, and deliver secure software. Let’s break down each one of the core pillars of the GitHub Enterprise platform, AI, Collaboration, Productivity, Security and Scale.

Gist: A git repo used to share snippets.

Github accounts:

  • Personal
  • Enterprise
  • Organization

Enterprise are linked to a organization or personal account

Plans:

  • Free
  • Pro
  • Team
  • Enterprise

Contributing to open source projects

Important files

LICENSE, README, CONTRIBUTING and CODE_OF_CONDUCT

Checklist Does it have a license? Are issues and pull request discussions used actively by maintainers and contributors? Does the project use labels like help wanted or good first issue for newcomers? Does the project have a code of conduct? Does the project have clear Contributing Guidelines?

Guide to contribute when there is no documentation

To write a good commit message, and subsequently your pull request, follow these practices:

  • Your Git commit message subject line should complete the following sentence:
    • If applied, this commit will .
  • Include a succinct description of the change by using the imperative, present tense. For example, use add not added or adds.
  • Limit your subject line to 50 characters.
  • Start with a capital letter, and don't end with a period (.).
  • You can use emojis in your subject line and @mention other GitHub users, but not everyone is a fan of such frivolity.

For the body of your message and pull request, continue to use present tense. Make sure to include the motivation for the change. Contrast your change with the previous behavior. Use the space at your disposal to explain the what and why versus the how.

Inner source

You can configure GitHub repositories with three levels of visibility. Users who don't meet the visibility requirement see "not found" pages when they try to access your repository. The levels are:

Public repositories are visible to everyone. Use this visibility for projects that are truly open source and offer access to people inside and outside of your organization. Internal repositories are only visible to members of the organization that owns them. Use this visibility for InnerSource projects. Private repositories are only visible to the owner and any teams or individuals they add. Use this visibility for projects that only specific users and groups should have access to. Once you've established repository visibility, you can configure permissions on an individual or team basis. There are five permission levels:

Read level is recommended for non-code contributors who want to view or discuss the project. Triage level is recommended for contributors who need to proactively manage issues and pull requests without write access. Write level is recommended for contributors who actively push to the project. Maintain level is recommended for project managers who need to manage the repository without access to sensitive or destructive actions. Admin level is recommended for people who need full access to the project, including sensitive and destructive actions like managing security or deleting a repository.

Admin

Repository permissions

  • Read, Triage, Write, Maintain, Admin

You can use a repo as template in the settings tab

Team permissions

  • Member, Maintainer

Organization permissions Owner, Member, Moderator, Billing manager, Security managers, Outside collaborator

Enterprise permissions Owner, Member, Billing manager

Authentication and authorization

  • SAML: Security Assertion Markup Language, a way to exchange data about security.
  • SSO: A centralized login to access private resources:
  • IdP: Identity Provider. An IdP can supply a SAML SSO user management system to allow better control of user accesses.
  • SCIM: System for Cross-domain Identity Management. A way to sync two user management systems. Github offers SCIM to sync security data from Github and an IdP.

Github officially supports Microsoft Entra and and Okta.