Learn Git and GitHub

Need of Version Control System

Need of Version Control System?

Client: CFAMILY

              |-- It is a Self-Paced Training Portal

Being a developer, we have to write several files which contains code (source code).

Developer à Writes Code à Files

 

Client à CFAMILY à A Self-Paced Portal

            |-- We have developed 100 files – We will present or give demo to client -- v1

            |-- After demo Client suggested some changes.

            |-- According client requirement/suggestion we modified/developed source files – We

     will present or give demo to client – v2

|-- After demo again, client suggested some more changes.

|-- According client requirement/suggestion we will develop/modify some source files

    – v3

|-- Again, we will give demo to client, again client asked changes

|-- According to client new requirement/suggestion we will develop/modify changes

    to some files – v4

|-- Again, we will give demo to client, Client not satisfied with new changes he is

    satisfied with first changes and he is asking first version only.

|-- My Face with Big???

        è It is never recommended to override our source code. Every Version we have to maintain.

 

Problems with maintaining manual versions,

        1.     Maintaining multiple versions is very difficult.

        2.     We have multiple developers working for CFAMILY client.

        Let’s say Dev1, Dev2 and Dev3 working on the code. Finally, we will merge Dev1, Dev2 and Dev3 code to meet client requirement.

        Let’s say all 3 developers working on purchase related activity and saving in same location

        E.g: -Purchase.java or Purchase.python or Purchase.scala

        Finally, we will see only one developer code, because finally who will save their code only we can see. Which creates abnormal behavior. So it never recommended to override.

        3.     Every Change should be tracked like

        Who did change?

        When He/She did change?

        Which changes He/She did?

        All these changes should be maintained.

        4.     Overwriting of the code is not recommended.

        5.     Developers have to share their code to peer developers, so that multiple developers will work collaborative way.

        6.     Parallel development is required.