Day #10 : Advance Git & GitHub for DevOps Engineers.

Git Branching

Use a branch to isolate development work without affecting other branches in the repository. Each repository has one default branch and can have multiple other branches. You can merge a branch into another branch using a pull request.

Branches allow you to develop features, fix bugs, or safely experiment with new ideas in a contained area of your repository.

Git Revert and Reset

Two commonly used tools that git users will encounter are those of git reset and git revert. The benefit of both of these commands is that you can use them to remove or edit changes you’ve made in the code in previous commits.

Git Rebase and Merge

What Is Git Rebase?

Git rebase is a command that lets users integrate changes from one branch to another, and the logs are modified once the action is complete. Git rebase was developed to overcome merging’s shortcomings, specifically regarding logs.

What Is Git Merge?

Git merge is a command that allows developers to merge Git branches while the logs of commits on branches remain intact.

The merge wording can be confusing because we have two methods of merging branches and one of those ways is called “merge,” even though both procedures do essentially the same thing.

Task : Merge Conflict Reslove

Add a text file called version01.txt inside the Devops/Git/ with “This is first feature of our application” written inside. This should be in a branch coming from master, [hint try git checkout -b dev], switch to dev branch ( Make sure your commit message will reflect as "Added new feature"). [Hint use your knowledge of creating branches and Git commit command]

  • version01.txt should reflect at local repo first followed by Remote repo for review. [Hint use your knowledge of Git push and git pull commands here]

Add new commit in dev branch after adding below mentioned content in Devops/Git/version01.txt: While writing the file make sure you write these lines

  • 1st line>> This is the bug fix in development branch

  • Commit this with message “ Added feature2 in development branch”

  • 2nd line>> This is gadbad code

  • Commit this with message “ Added feature3 in development branch"

  • 3rd line>> This feature will gadbad everything from now.

  • Commit with message “ Added feature4 in development branch

Restore the file to a previous version where the content should be “This is the bug fix in development branch” [Hint use git revert or reset according to your knowledge]


Task : Adding a Text File and Creating a New Branch

  1. Add a text file called version01.txt inside the Devops/Git/ directory with the content "This is the first feature of our application."

     ubuntu@ip-172-31-8-95:~/DevOps/Git$ touch version01.txt
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ echo "This is the first feature of our application" > version01.txt
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ cat version01.txt
    

  2. Commit the current change to Central repo

     ubuntu@ip-172-31-8-95:~/DevOps/Git$ git add version01.txt 
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ git commit -m "Added new feature"
    

  3. Create a new branch named "dev" from the "master" branch:

     ubuntu@ip-172-31-8-95:~/DevOps/Git$ git checkout -b dev
    

  4. Commit the changes with the message "Added new feature."

    
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ echo "This is the bug fix in development branch" > version01.txt 
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ git commit -am "Added feature2 in development branch"
    

  5. Add the text in the second line and commit it with the defined commit message

     ubuntu@ip-172-31-8-95:~/DevOps/Git$ echo "This is gadbad code" >> version01.txt 
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ git commit -am "Added feature3 in development branch"
    

     ubuntu@ip-172-31-8-95:~/DevOps/Git$ echo "This feature will gadbad everything from now." >> version01.txt 
     ubuntu@ip-172-31-8-95:~/DevOps/Git$ git commit -am "Added feature4 in development branch"
    

  6. Check the content of the file now using cat command

To restore the file to a previous version, you can use git reset:

Use the following command to reset the file to a previous version where the content is "This is the bug fix in the development branch":

 ubuntu@ip-172-31-8-95:~/DevOps/Git$ git reset --hard HEAD~3

Conclusion

Here we conclude the Day 10 task from #90DaysOfDevOps