DevOps Classroomnotes 24/Apr/2022

Git Contd…

  • Create the following folder structure in a folder called as qtecommerce
    Preview
  • initialize the git repository
  • create a first commit with all the changes apart from bin directory
  • Steps:
    • Create the files and add to the staging area
      Preview
    • commit the changes
      Preview
  • This repository should never have history of bin folder as it is generated on developers laptop whenever you run application. Every technology has such folders and file formats
    • java => target
    • python => virtual env
    • .net => bin/debug bin/release
  • Now we want to perform the following changes
    Preview
    Preview
  • As i never want bin to part of my version control it would be better if it is ignored in all the git commands like git status
  • In git we can create a file in the root folder of working tree qtecommerce called as .gitignore.
  • In this file mention the folders, file etc.. which you want git to ignore
    Preview
  • Add this file to the staging area and execute git status. you should see git ignoring bin directory
    Preview
  • Now i can add all the changes at one shot
    Preview
  • We can also include some file extensions. Consider the following .pyc which we never want it to be part of version control
    Preview
    Preview
  • Add the change to the staging area and see the status
    Preview
  • Now commit the changes
    Preview
  • Now depending on the technology of your application, there are predefined gitignore which can be generate online, but we should be able to modify them as per our custom needs
  • Refer Here for generating .gitignore files:
  • Lets assume your developers are working on

    • java with eclipse
      Preview
      Preview
    • python with vscode
  • Can you represent the commits which we have done in the graph style
    Preview
    Preview
  • The history so far looks linear
  • Now lets assume we have got two customers
    • reliance
    • tatagroup
  • We need to add some custom features in the code for reliance and tata
  • For common features this linear approach is ok, but also need to have a way to add custom features for reliance and for tata group which includes common
  • We need an approach which allows us effectively do the parallel development for the following by using the same working tree
    • different customers
    • different releases
    • and so on
      Preview
  • This can be acheived by using branching. Branches in git are very light weight and easy
  • Now to bring the changes from one branch into another the following options are available.
    • merging
    • cherry-picking
    • rebase

Published
Categorized as Uncategorized Tagged

By continuous learner

devops & cloud enthusiastic learner

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Animated Social Media Icons by Acurax Wordpress Development Company

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Visit Us On FacebookVisit Us On LinkedinVisit Us On Youtube