FMWDS

Basic Git intro

  1. What kind of program is Git? Git is a version control system (VCS) that helps developers track changes, collaborate on code, and manage software development projects.

  2. Differences between Git and a text editor in terms of what they save and their record keeping:

    • Git: Saves and manages changes to entire projects, including code, files, and folder structures. It maintains a history of changes, allowing you to revert to previous states.
    • Text Editor: Edits and saves individual text-based files. It doesn't maintain a history of changes or version control like Git.
  3. Does Git work at a local or remote level? Git works at both local and remote levels. Developers can make changes locally on their computers and use Git to track those changes. They can also push changes to remote repositories for collaboration and backup.

  4. Does GitHub work at a local or remote level? GitHub works at a remote level. It is a web-based platform that hosts remote Git repositories. Developers can collaborate, share, and manage their projects on GitHub by interacting with the remote repositories.

  5. Why is Git useful for developers? Git offers several benefits for developers:

    • Version Control: Tracks changes, allowing easy rollback to previous versions.
    • Collaboration: Enables multiple developers to work on the same project simultaneously.
    • Branching: Supports creating isolated branches for different features or fixes.
    • Merge Management: Facilitates combining changes from different branches.
    • Code History: Maintains a detailed history of changes, aiding in troubleshooting and understanding project evolution.
  6. Why are Git and GitHub useful for a team of developers?

    • Collaboration: Git allows team members to work on different parts of a project concurrently, merging changes seamlessly.
    • Code Review: Teams can review and comment on each other's code before merging, ensuring quality and best practices.
    • Conflict Resolution: Git helps manage conflicts that arise when multiple team members modify the same code.
    • Central Repository: GitHub provides a central location for storing and sharing code, making it accessible to the entire team.
    • Documentation: Git commit messages and GitHub issues provide a trail of discussions and decisions, aiding future reference.
    • Continuous Integration: Integrating Git with tools like GitHub Actions enables automated testing and deployment processes.
    • Open Source Collaboration: GitHub fosters open-source contributions, enabling external developers to contribute to projects.