a. What is an issue? - An issue is a tool for tracking tasks, bugs, or feature requests in a GitHub repository, allowing team members to discuss and manage work items. b. What is a pull request? - A pull request is a request to merge code changes from one branch to another, enabling review, discussion, and integration of those changes into the main codebase. c. Steps to Open a Pull Request: - Create a Branch: Start by creating a new branch for your changes. - Make Changes: Commit your changes to this branch. - Push to GitHub: Push the branch to the remote repository on GitHub. - Open Pull Request: Navigate to your repository on GitHub, select your branch, and click the "Compare & pull request" button. - Review & Submit: Review the changes, add a title and description, then click "Create pull request." d. Steps to Add a Collaborator to a Repository: - Go to Repository Settings: Navigate to the repository on GitHub and click on the "Settings" tab. - Manage Access: In the left sidebar, click "Collaborators & teams" under "Access." - Invite Collaborator: Click "Invite a collaborator," enter their GitHub username, and select them from the dropdown. - Assign Permissions: Choose the level of access (e.g., Write) and send the invite. - Collaborator Accepts: The collaborator will receive an email invitation, which they need to accept to gain access. e. What is the difference between Git and GitHub? - Git is a version control system used to track changes in code locally. - GitHub is a cloud-based platform for hosting Git repositories, enabling collaboration and sharing of code. f. What does git diff do? - git diff shows the differences between files or commits, highlighting changes that have not yet been staged or committed. g. What is the main branch? - The main branch is the default and primary branch in a Git repository where the stable, production-ready code is typically stored. h. Should we directly push our changes into the main branch? - No, it's recommended to work on a separate branch and open a pull request to merge changes into the main branch, allowing for code review and testing.