Skip to content

Git & GitHub: Professional Software Project Management

License: CC BY-SA 4.0 GitHub stars GitHub forks GitHub contributors

This is the open-source draft of the book "Git & GitHub: Professional Software Project Management".

This book aims to guide software developers, project managers, and teams through the essential concepts of Git version control and how to leverage the GitHub platform for effective collaboration, project management, and automation. Starting from the basics of version control, the book progresses through core Git commands, the structure of GitHub repositories, branching and merging strategies, collaborative workflows, advanced Git features, and automating tasks with GitHub Actions. It also covers important topics like repository security, permissions, best practices, and troubleshooting common issues.

Table of Contents

Chapters

  1. Chapter 1: Introduction to Version Control, Git, and GitHub
  2. Chapter 2: Git Basics - Getting Started with Your First Repository
  3. Chapter 3: Exploring GitHub Repository Anatomy
  4. Chapter 4: Branching and Merging - Working on Different Ideas
  5. Chapter 5: Collaborative Workflows with GitHub
  6. Chapter 6: Advanced Git Concepts and Commands
  7. Chapter 7: Automating Workflows with GitHub
  8. Chapter 8: Managing Permissions, Security, and Repository Settings
  9. Chapter 9: Best Practices for Professional Git and GitHub Usage
  10. Chapter 10: Troubleshooting Common Issues and Debugging

Appendices

How to Read

You can read the book directly by navigating through the Table of Contents above and clicking on the chapter links. Each chapter is a single Markdown file.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have suggestions for improving the book, whether it's fixing a typo, clarifying a concept, suggesting additional topics, or restructuring sections, please feel free to contribute!

Here are a few ways you can contribute:

  1. Reporting Issues: If you find errors (typos, grammatical mistakes, incorrect information) or have suggestions for improvements or new content, please open an Issue on the GitHub repository. Provide a clear description of the issue or suggestion.
  2. Submitting Changes (Pull Requests): If you want to directly contribute changes to the content:
    • Fork the repository on GitHub.
    • Clone your forked repository to your local machine.
    • Create a new branch for your changes (e.g., fix/typo-chapter-3, feat/add-section-on-rebase).
    • Make your changes to the Markdown files.
    • Commit your changes with a clear and descriptive commit message.
    • Push your branch to your forked repository on GitHub.
    • Open a Pull Request from your branch on your fork to the main branch of the original repository (hei1sme/git-github-book).
    • Describe the changes you've made in the Pull Request description.

We strive to review contributions promptly. Thank you for helping make this book better!

Acknowledgements

I'd like to express my sincere gratitude to:

  • FPT University, for providing the learning environment and resources that have been instrumental in my studies and in undertaking this project.
  • My instructors and mentors at FPT University who have guided me in software development principles and technologies.
  • The broader open-source community, including platforms like Stack Overflow, the official Git and GitHub documentation, and numerous tutorials, which serve as invaluable resources for learning and problem-solving.
  • Any future contributors to this book. Your efforts in identifying errors, suggesting improvements, and adding content are vital to making this a valuable resource for others.

License

The content of this book is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).

This means you are free to: * Share — copy and redistribute the material in any medium or format. * Adapt — remix, transform, and build upon the material for any purpose, even commercially.

Under the following terms: * Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. * ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/4.0/ or see the LICENSE file in this repository.

Author

Le Nguyen Gia Hung (@hei1sme)