Git

Francesco Ciannavei

Git

Version control as a development foundation

Git has been part of my work as a developer since my earliest projects. When I started writing code, I immediately recognized the value of a solid versioning system and made learning it a priority. This choice has allowed me to build over the years a deep expertise that today represents one of the pillars of my approach to software development, regardless of the language or framework being used.

Experience in structured development teams

I have gained significant experience working in teams of over 10 developers, where coordinated source code management is crucial for project success. I master the management of complex branching strategies, conflict resolution during merge operations, and the code review process through pull requests and merge requests. Maintaining codebase consistency, ensuring traceability of every change, and facilitating collaboration among colleagues are aspects I have refined through years of work in enterprise environments.

GitHub as primary platform

GitHub is the platform where I publish all my personal projects and actively participate in the open source community. I create public repositories that I make available to other developers, maintaining thorough documentation to simplify adoption. At the same time, I contribute to existing open source projects, proposing improvements and fixes to libraries and tools that are part of my daily technology stack. This constant participation keeps me updated on industry developments and offers me the opportunity to engage with professionals worldwide.

Versatility across different platforms

While GitHub is my primary tool, I also have experience with other Git repository hosting platforms. I occasionally use GitLab and Gitbucket based on specific project requirements or the preferences of the teams I collaborate with. This versatility allows me to quickly adapt to different work environments, leveraging the unique features of each platform without difficulty.

CI/CD pipelines and automation

My Git knowledge naturally extends to the automation domain. I design and configure Continuous Integration and Continuous Deployment pipelines to automate builds, test execution, and software deployment. This expertise enables maintaining high quality standards through automated checks and makes the entire release cycle faster and more reliable, minimizing the risk of errors and optimizing delivery times.

Rating
10 /10

Where i've used it: