Add content to Git/GitHub Roadmap (all topics covered) (#6626)
parent
1981568501
commit
fbd24ea5e2
17 changed files with 166 additions and 20 deletions
@ -1 +1,9 @@ |
|||||||
# git filter-branch |
# git filter-branch |
||||||
|
|
||||||
|
You can use `git filter-branch` to rewrite Git revision history by applying custom filters on each revision. |
||||||
|
|
||||||
|
- Filter types: You can modify trees (e.g., removing a file or running a Perl script) or information about each commit. |
||||||
|
- Preserving original data: The command preserves all original commit times, merge information, and other details unless specified otherwise. |
||||||
|
- Rewriting specific branches: Only the positive refs mentioned in the command line are rewritten; if no filters are specified, commits are recommitted without changes. |
||||||
|
|
||||||
|
- [@official@git filter-branch](https://git-scm.com/docs/git-filter-branch) |
@ -1,9 +1,13 @@ |
|||||||
# Pull Requests |
# Pull Requests |
||||||
|
|
||||||
A pull request is a proposal to merge a set of changes from one branch into another. In a pull request, collaborators can review and discuss the proposed set of changes before they integrate the changes into the main codebase. Pull requests display the differences, or diffs, between the content in the source branch and the content in the target branch. |
You can use GitHub CLI to manage pull requests with the following commands: |
||||||
|
|
||||||
|
- `gh pr create`: Create a new pull request. |
||||||
|
- `gh pr merge`: Merge a pull request into the target branch. |
||||||
|
- `gh pr list`: List all pull requests for a repository. |
||||||
|
- `gh pr view`: View details of a specific pull request. |
||||||
|
|
||||||
Visit the following resources to learn more: |
Visit the following resources to learn more: |
||||||
|
|
||||||
- [@official@Creating a pull request](https://docs.github.com/articles/creating-a-pull-request) |
- [@official@gh pr](https://cli.github.com/manual/gh_pr) |
||||||
- [@article@Pull Requests](https://www.atlassian.com/git/tutorials/making-a-pull-request#:~:text=In%20their%20simplest%20form%2C%20pull,request%20via%20their%20Bitbucket%20account.) |
- [@video@Use GitHub CLI For Command Line Pull Request Management](https://www.youtube.com/watch?v=Ku9_0Mftiic) |
||||||
- [@video@GitHub Pull Request in 100 Seconds ](https://youtu.be/8lGpZkjnkt4?si=qbCQ8Uvzn9GN2koL) |
|
@ -1 +1,9 @@ |
|||||||
# Pull Requests |
# Pull Requests |
||||||
|
|
||||||
|
A pull request is a proposal to merge a set of changes from one branch into another. In a pull request, collaborators can review and discuss the proposed set of changes before they integrate the changes into the main codebase. Pull requests display the differences, or diffs, between the content in the source branch and the content in the target branch. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Creating a pull request](https://docs.github.com/articles/creating-a-pull-request) |
||||||
|
- [@article@Pull Requests](https://www.atlassian.com/git/tutorials/making-a-pull-request#:~:text=In%20their%20simplest%20form%2C%20pull,request%20via%20their%20Bitbucket%20account.) |
||||||
|
- [@video@GitHub Pull Request in 100 Seconds ](https://youtu.be/8lGpZkjnkt4?si=qbCQ8Uvzn9GN2koL) |
@ -1 +1,14 @@ |
|||||||
# Repository management |
# Repository management |
||||||
|
|
||||||
|
Using GitHub CLI for repository management allows you to streamline tasks and work more efficiently. ou can use GitHub CLI to manage repositories with the following commands: |
||||||
|
|
||||||
|
- `gh repo create`: Create a new repository. |
||||||
|
- `gh repo delete`: Delete an existing repository. |
||||||
|
- `gh repo visibility`: Change the repository's visibility (public or private). |
||||||
|
- `gh repo topic`: Manage topic labels for a repository. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@gh repo](https://cli.github.com/manual/gh_repo) |
||||||
|
- [@article@Efficient GitHub Operations: Simplifying Repository Management using Github CLI](https://dev.to/yutee_okon/efficient-github-operations-simplifying-repository-management-using-github-cli-190l) |
||||||
|
- [@video@GitHub CLI (gh) - How to manage repositories more efficiently](https://www.youtube.com/watch?v=BII6ZY2Rnlc) |
@ -1 +1,14 @@ |
|||||||
# Rewriting History |
# Rewriting History |
||||||
|
|
||||||
|
In certain situations, you might need to modify or remove commits from your Git repository's history. This can be achieved using various methods: |
||||||
|
|
||||||
|
- `git commit --amend`: Allows you to edit the most recent commit. |
||||||
|
- `git rebase`: Replaces one branch with another, preserving the commit history. |
||||||
|
- `git filter-branch`: Removes specific commits from a branch without altering the original branch. |
||||||
|
- `git push --force`: Updates the remote repository while respecting existing pull requests. |
||||||
|
|
||||||
|
Rewriting history in Git is typically necessary when: |
||||||
|
|
||||||
|
- Fixing mistakes: Correcting errors or typos in commit messages. |
||||||
|
- Removing sensitive data: Deleting confidential information from commits, like API keys or database credentials. |
||||||
|
- Simplifying complex histories: Reorganizing branches to improve clarity and reduce complexity. |
@ -1 +1,8 @@ |
|||||||
# Roadmaps |
# Roadmaps |
||||||
|
|
||||||
|
GitHub roadmaps are a feature that helps you visualize and organize plans for your projects, allowing you to create a high-level view of milestones and goals, and collaborate on planning and tracking progress with team members. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Customizing the roadmap layout](https://docs.github.com/en/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/customizing-the-roadmap-layout) |
||||||
|
- [@video@Learn how to use Project Roadmaps - GitHub Checkout](https://www.youtube.com/watch?v=D80u__nYYWw) |
@ -1 +1,11 @@ |
|||||||
# Saved Replies |
# Saved Replies |
||||||
|
|
||||||
|
GitHub allows you to save frequently used comments and reuse them when discussing issues or pull requests. |
||||||
|
|
||||||
|
- Saved replies: You can create pre-written comments that can be easily added to conversations. |
||||||
|
- Customization: Saved replies can be edited to fit specific situations, making it easy to tailor your responses. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Using saved replies](https://docs.github.com/en/get-started/writing-on-github/working-with-saved-replies/using-saved-replies) |
||||||
|
- [@article@Walkthrough: Using Github’s “Saved Replies” to make life consistent and easy](https://prowe214.medium.com/walkthrough-using-githubs-saved-replies-to-make-life-consistent-and-easy-80f23efe6a0) |
@ -1 +1,8 @@ |
|||||||
# Scheduled Worfklows |
# Scheduled Worfklows |
||||||
|
|
||||||
|
GitHub Actions allows you to schedule workflows to run at specific times or intervals. You can set up workflows to automatically run at predetermined times, such as daily or weekly. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Events that trigger workflows - Schedule](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule) |
||||||
|
- [@video@GitHub Actions - How to Schedule workflows in GitHub](https://www.youtube.com/watch?v=StipNrK__Gk) |
@ -1 +1,12 @@ |
|||||||
# Secrets and Env Vars |
# Secrets and Env Vars |
||||||
|
|
||||||
|
GitHub provides features to securely store and manage sensitive data, such as secrets and environment variables. |
||||||
|
|
||||||
|
- Secrets: These are sensitive values that should not be committed to a repository, like API keys or database credentials. |
||||||
|
- Environment Variables: They can be used to set values for your workflow or application, making it easier to manage dependencies. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Using secrets in GitHub Actions](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions) |
||||||
|
- [@official@Store information in variables](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables) |
||||||
|
- [@video@Secrets and Environment Variables in your GitHub Action](https://www.youtube.com/watch?v=dPLPSaFqJmY) |
@ -1 +1,12 @@ |
|||||||
# Setting up Profile |
# Setting up Profile |
||||||
|
|
||||||
|
On GitHub, creating a profile is an essential step in showcasing yourself as a developer or contributor. |
||||||
|
|
||||||
|
- Sharing information: Your profile page allows others to find out more about you, including your interests and skills. |
||||||
|
- Showcasing projects: You can display your notable projects and contributions, giving a glimpse into your work experience. |
||||||
|
- Expressing identity: The profile also serves as an opportunity for personal expression, allowing you to convey your unique personality and style within the GitHub community. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Setting up your profile](https://docs.github.com/en/get-started/start-your-journey/setting-up-your-profile) |
||||||
|
- [@video@GitHub Profile Readme](https://www.youtube.com/watch?v=KhGWbt1dAKQ) |
@ -1,3 +1,8 @@ |
|||||||
# Staged Changes |
# Staged Changes |
||||||
|
|
||||||
To view the changes you've staged with `git add`, but not yet committed, use `git diff --cached`. This command compares the staged files against their original versions in the repository. It's a quick way to review what you're about to commit before finalizing it. |
To view the changes you've staged with `git add`, but not yet committed, use `git diff --cached`. This command compares the staged files against their original versions in the repository. It's a quick way to review what you're about to commit before finalizing it. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@article@What does Staged Changes mean in Git?](https://dillionmegida.com/p/staged-changes-in-git/) |
||||||
|
- [@video@What are Staged Changes in Git?](https://www.youtube.com/watch?v=HyeNfWZBut8) |
@ -1 +1,11 @@ |
|||||||
# Staging Area |
# Staging Area |
||||||
|
|
||||||
|
In Git, a staging area serves as an intermediate step between your local repository changes and the actual commit. |
||||||
|
|
||||||
|
- Temporary storage: The staging area holds changes that are intended to be part of the next commit. |
||||||
|
- Previewing changes: It allows you to preview your changes before committing them. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Getting Started - What is Git? - Staging Area](https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F#:~:text=The%20staging%20area%20is%20a,area%E2%80%9D%20works%20just%20as%20well.) |
||||||
|
- [@video@What are Staged Changes in Git?](https://www.youtube.com/watch?v=HyeNfWZBut8) |
@ -1 +1,10 @@ |
|||||||
# Storing Artifacts |
# Storing Artifacts |
||||||
|
|
||||||
|
GitHub provides a feature for storing artifacts, which allows you to upload build outputs or other files as part of your workflow. |
||||||
|
|
||||||
|
- Artifacts: These are files generated by a job, such as compiled binaries, test reports, or logs. They can be used to validate the results of a build or deployment. |
||||||
|
- Referenceable storage: Artifacts are stored in a referenceable way, making it easy to access and use them in future builds. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Storing and sharing data from a workflow](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/storing-and-sharing-data-from-a-workflow) |
@ -1 +1,6 @@ |
|||||||
# Submodules |
# Submodules |
||||||
|
|
||||||
|
In Git, submodules allow you to include another repository within a project. This feature enables the management of external dependencies as part of the main project. |
||||||
|
|
||||||
|
- Including external repositories: Submodules can be used to include other Git repositories within your project. |
||||||
|
- Managing dependencies: They provide a way to manage and track changes in external dependencies. |
@ -1 +1,10 @@ |
|||||||
# Tagging |
# Tagging |
||||||
|
|
||||||
|
In Git, tags are used to identify specific points in a repository's history as being important. This feature allows developers to mark release points or milestones. |
||||||
|
|
||||||
|
- Marking release points: Tags are typically used to mark release versions (e.g., v1.0, v2.0) of a project. |
||||||
|
- Types of tags: There are different types of tags, including lightweight and annotated tags. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@official@Git Basics - Tagging](https://git-scm.com/book/en/v2/Git-Basics-Tagging) |
@ -1 +1,12 @@ |
|||||||
# Teams within Organization |
# Teams within Organization |
||||||
|
|
||||||
|
GitHub Organizations allow you to create teams within your organization, which helps in organizing members based on their roles and responsibilities. |
||||||
|
|
||||||
|
- Grouping: Team members can be grouped together according to the company or group's structure. |
||||||
|
- Access permissions: Access permissions can be cascaded from one team member to another. |
||||||
|
- Mentions: Team mentions allow for easy referencing of specific teams in repository discussions. |
||||||
|
|
||||||
|
Visit the following resources to learn more: |
||||||
|
|
||||||
|
- [@offiicial@Organizing members into teams](https://docs.github.com/en/organizations/organizing-members-into-teams) |
||||||
|
- [@article@Best practices for organizations and teams using GitHub Enterprise Cloud](https://github.blog/enterprise-software/devops/best-practices-for-organizations-and-teams-using-github-enterprise-cloud/) |
@ -1 +1,6 @@ |
|||||||
# Undoing Changes |
# Undoing Changes |
||||||
|
|
||||||
|
If mistakes or unwanted changes have been committed to your Git repository, there are ways to correct them. Two common methods for reverting changes include: |
||||||
|
|
||||||
|
- Git Reset: Resets the branch to a previous commit. |
||||||
|
- Git Revert: Creates a new commit that reverts specified changes. |
Loading…
Reference in new issue