forked from LondheShubham153/90DaysOfDevOps
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rename tasks.md to README.md for good rendering
- Loading branch information
1 parent
e9e3fac
commit 9dc6020
Showing
90 changed files
with
1,573 additions
and
1,573 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,51 @@ | ||
# Day 8 Task: Basic Git & GitHub for DevOps Engineers. | ||
|
||
## What is Git? | ||
|
||
Git is a version control system that allows you to track changes to files and coordinate work on those files among multiple people. It is commonly used for software development, but it can be used to track changes to any set of files. | ||
|
||
With Git, you can keep a record of who made changes to what part of a file, and you can revert back to earlier versions of the file if needed. Git also makes it easy to collaborate with others, as you can share changes and merge the changes made by different people into a single version of a file. | ||
|
||
## What is Github? | ||
|
||
GitHub is a web-based platform that provides hosting for version control using Git. It is a subsidiary of Microsoft, and it offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. GitHub is a very popular platform for developers to share and collaborate on projects, and it is also used for hosting open-source projects. | ||
|
||
## What is Version Control? How many types of version controls we have? | ||
|
||
Version control is a system that tracks changes to a file or set of files over time so that you can recall specific versions later. It allows you to revert files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more. | ||
|
||
There are two main types of version control systems: centralized version control systems and distributed version control systems. | ||
|
||
1. A centralized version control system (CVCS) uses a central server to store all the versions of a project's files. Developers "check out" files from the central server, make changes, and then "check in" the updated files. Examples of CVCS include Subversion and Perforce. | ||
|
||
2. A distributed version control system (DVCS) allows developers to "clone" an entire repository, including the entire version history of the project. This means that they have a complete local copy of the repository, including all branches and past versions. Developers can work independently and then later merge their changes back into the main repository. Examples of DVCS include Git, Mercurial, and Darcs. | ||
|
||
## Why we use distributed version control over centralized version control? | ||
|
||
1. Better collaboration: In a DVCS, every developer has a full copy of the repository, including the entire history of all changes. This makes it easier for developers to work together, as they don't have to constantly communicate with a central server to commit their changes or to see the changes made by others. | ||
|
||
2. Improved speed: Because developers have a local copy of the repository, they can commit their changes and perform other version control actions faster, as they don't have to communicate with a central server. | ||
|
||
3. Greater flexibility: With a DVCS, developers can work offline and commit their changes later when they do have an internet connection. They can also choose to share their changes with only a subset of the team, rather than pushing all of their changes to a central server. | ||
|
||
4. Enhanced security: In a DVCS, the repository history is stored on multiple servers and computers, which makes it more resistant to data loss. If the central server in a CVCS goes down or the repository becomes corrupted, it can be difficult to recover the lost data. | ||
|
||
Overall, the decentralized nature of a DVCS allows for greater collaboration, flexibility, and security, making it a popular choice for many teams. | ||
|
||
## Task: | ||
|
||
- Install Git on your computer (if it is not already installed). You can download it from the official website at https://git-scm.com/downloads | ||
- Create a free account on GitHub (if you don't already have one). You can sign up at https://github.com/ | ||
- Learn the basics of Git by reading through the [video](https://youtu.be/AT1uxOLsCdk) This will give you an understanding of what Git is, how it works, and how to use it to track changes to files. | ||
|
||
## Exercises: | ||
|
||
1. Create a new repository on GitHub and clone it to your local machine | ||
2. Make some changes to a file in the repository and commit them to the repository using Git | ||
3. Push the changes back to the repository on GitHub | ||
|
||
Reff :- https://youtu.be/AT1uxOLsCdk | ||
|
||
Post your daily work on Linkedin and le me know , writing an article is the best :) | ||
|
||
[← Previous Day](../day07/tasks.md) | [Next Day →](../day09/tasks.md) | ||
# Day 8 Task: Basic Git & GitHub for DevOps Engineers. | ||
|
||
## What is Git? | ||
|
||
Git is a version control system that allows you to track changes to files and coordinate work on those files among multiple people. It is commonly used for software development, but it can be used to track changes to any set of files. | ||
|
||
With Git, you can keep a record of who made changes to what part of a file, and you can revert back to earlier versions of the file if needed. Git also makes it easy to collaborate with others, as you can share changes and merge the changes made by different people into a single version of a file. | ||
|
||
## What is Github? | ||
|
||
GitHub is a web-based platform that provides hosting for version control using Git. It is a subsidiary of Microsoft, and it offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. GitHub is a very popular platform for developers to share and collaborate on projects, and it is also used for hosting open-source projects. | ||
|
||
## What is Version Control? How many types of version controls we have? | ||
|
||
Version control is a system that tracks changes to a file or set of files over time so that you can recall specific versions later. It allows you to revert files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more. | ||
|
||
There are two main types of version control systems: centralized version control systems and distributed version control systems. | ||
|
||
1. A centralized version control system (CVCS) uses a central server to store all the versions of a project's files. Developers "check out" files from the central server, make changes, and then "check in" the updated files. Examples of CVCS include Subversion and Perforce. | ||
|
||
2. A distributed version control system (DVCS) allows developers to "clone" an entire repository, including the entire version history of the project. This means that they have a complete local copy of the repository, including all branches and past versions. Developers can work independently and then later merge their changes back into the main repository. Examples of DVCS include Git, Mercurial, and Darcs. | ||
|
||
## Why we use distributed version control over centralized version control? | ||
|
||
1. Better collaboration: In a DVCS, every developer has a full copy of the repository, including the entire history of all changes. This makes it easier for developers to work together, as they don't have to constantly communicate with a central server to commit their changes or to see the changes made by others. | ||
|
||
2. Improved speed: Because developers have a local copy of the repository, they can commit their changes and perform other version control actions faster, as they don't have to communicate with a central server. | ||
|
||
3. Greater flexibility: With a DVCS, developers can work offline and commit their changes later when they do have an internet connection. They can also choose to share their changes with only a subset of the team, rather than pushing all of their changes to a central server. | ||
|
||
4. Enhanced security: In a DVCS, the repository history is stored on multiple servers and computers, which makes it more resistant to data loss. If the central server in a CVCS goes down or the repository becomes corrupted, it can be difficult to recover the lost data. | ||
|
||
Overall, the decentralized nature of a DVCS allows for greater collaboration, flexibility, and security, making it a popular choice for many teams. | ||
|
||
## Task: | ||
|
||
- Install Git on your computer (if it is not already installed). You can download it from the official website at https://git-scm.com/downloads | ||
- Create a free account on GitHub (if you don't already have one). You can sign up at https://github.com/ | ||
- Learn the basics of Git by reading through the [video](https://youtu.be/AT1uxOLsCdk) This will give you an understanding of what Git is, how it works, and how to use it to track changes to files. | ||
|
||
## Exercises: | ||
|
||
1. Create a new repository on GitHub and clone it to your local machine | ||
2. Make some changes to a file in the repository and commit them to the repository using Git | ||
3. Push the changes back to the repository on GitHub | ||
|
||
Reff :- https://youtu.be/AT1uxOLsCdk | ||
|
||
Post your daily work on Linkedin and le me know , writing an article is the best :) | ||
|
||
[← Previous Day](../day07/tasks.md) | [Next Day →](../day09/tasks.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,28 @@ | ||
# Day 9 Task: Deep Dive in Git & GitHub for DevOps Engineers. | ||
|
||
## Find the answers by your understandings(Shoulden't be copied by internet & used hand-made diagrams) of below quistions and Write blog on it. | ||
|
||
1. What is Git and why is it important? | ||
2. What is difference Between Main Branch and Master Branch?? | ||
3. Can you explain the difference between Git and GitHub? | ||
4. How do you create a new repository on GitHub? | ||
5. What is difference between local & remote repository? How to connect local to remote? | ||
|
||
## Tasks | ||
|
||
task-1: | ||
|
||
- Set your user name and email address, which will be associated with your commits. | ||
|
||
task-2: | ||
|
||
- Create a repository named "Devops" on GitHub | ||
- Connect your local repository to the repository on GitHub. | ||
- Create a new file in Devops/Git/Day-02.txt & add some content to it | ||
- Push your local commits to the repository on GitHub | ||
|
||
reff :- https://youtu.be/AT1uxOLsCdk | ||
|
||
Note: These steps assume that you have already installed Git on your computer and have created a GitHub account. If you need help with these prerequisites, you can refer to the [day-08](https://github.com/LondheShubham153/90DaysOfDevOps/blob/ee7c53f276edb02a85a97282027028295be17c04/2023/day08/tasks.md) | ||
|
||
[← Previous Day](../day08/tasks.md) | [Next Day →](../day10/tasks.md) | ||
# Day 9 Task: Deep Dive in Git & GitHub for DevOps Engineers. | ||
|
||
## Find the answers by your understandings(Shoulden't be copied by internet & used hand-made diagrams) of below quistions and Write blog on it. | ||
|
||
1. What is Git and why is it important? | ||
2. What is difference Between Main Branch and Master Branch?? | ||
3. Can you explain the difference between Git and GitHub? | ||
4. How do you create a new repository on GitHub? | ||
5. What is difference between local & remote repository? How to connect local to remote? | ||
|
||
## Tasks | ||
|
||
task-1: | ||
|
||
- Set your user name and email address, which will be associated with your commits. | ||
|
||
task-2: | ||
|
||
- Create a repository named "Devops" on GitHub | ||
- Connect your local repository to the repository on GitHub. | ||
- Create a new file in Devops/Git/Day-02.txt & add some content to it | ||
- Push your local commits to the repository on GitHub | ||
|
||
reff :- https://youtu.be/AT1uxOLsCdk | ||
|
||
Note: These steps assume that you have already installed Git on your computer and have created a GitHub account. If you need help with these prerequisites, you can refer to the [day-08](https://github.com/LondheShubham153/90DaysOfDevOps/blob/ee7c53f276edb02a85a97282027028295be17c04/2023/day08/tasks.md) | ||
|
||
[← Previous Day](../day08/tasks.md) | [Next Day →](../day10/tasks.md) |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,57 +1,57 @@ | ||
# Day 11 Task: Advance Git & GitHub for DevOps Engineers: Part-2 | ||
|
||
## Git Stash: | ||
|
||
Git stash is a command that allows you to temporarily save changes you have made in your working directory, without committing them. This is useful when you need to switch to a different branch to work on something else, but you don't want to commit the changes you've made in your current branch yet. | ||
|
||
To use Git stash, you first create a new branch and make some changes to it. Then you can use the command git stash to save those changes. This will remove the changes from your working directory and record them in a new stash. You can apply these changes later. git stash list command shows the list of stashed changes. | ||
|
||
You can also use git stash drop to delete a stash and git stash clear to delete all the stashes. | ||
|
||
## Cherry-pick: | ||
|
||
Git cherry-pick is a command that allows you to select specific commits from one branch and apply them to another. This can be useful when you want to selectively apply changes that were made in one branch to another. | ||
|
||
To use git cherry-pick, you first create two new branches and make some commits to them. Then you use git cherry-pick <commit_hash> command to select the specific commits from one branch and apply them to the other. | ||
|
||
## Resolving Conflicts: | ||
|
||
Conflicts can occur when you merge or rebase branches that have diverged, and you need to manually resolve the conflicts before git can proceed with the merge/rebase. | ||
git status command shows the files that have conflicts, git diff command shows the difference between the conflicting versions and git add command is used to add the resolved files. | ||
|
||
# Task-01 | ||
|
||
- Create a new branch and make some changes to it. | ||
- Use git stash to save the changes without committing them. | ||
- Switch to a different branch, make some changes and commit them. | ||
- Use git stash pop to bring the changes back and apply them on top of the new commits. | ||
|
||
# Task-02 | ||
|
||
- In version01.txt of development branch add below lines after “This is the bug fix in development branch” that you added in Day10 and reverted to this commit. | ||
- Line2>> After bug fixing, this is the new feature with minor alteration” | ||
|
||
Commit this with message “ Added feature2.1 in development branch” | ||
|
||
- Line3>> This is the advancement of previous feature | ||
|
||
Commit this with message “ Added feature2.2 in development branch” | ||
|
||
- Line4>> Feature 2 is completed and ready for release | ||
|
||
Commit this with message “ Feature2 completed” | ||
|
||
- All these commits messages should be reflected in Production branch too which will come out from Master branch (Hint: try rebase). | ||
|
||
# Task-03 | ||
|
||
- In Production branch Cherry pick Commit “Added feature2.2 in development branch” and added below lines in it: | ||
- Line to be added after Line3>> This is the advancement of previous feature | ||
- Line4>>Added few more changes to make it more optimized. | ||
- Commit: Optimized the feature | ||
|
||
## Reference [video](https://youtu.be/apGV9Kg7ics) | ||
|
||
You can Post on LinkedIn and let us know what you have learned from this task by #90DaysOfDevOps Challange. Happy Learning :) | ||
|
||
[← Previous Day](../day10/tasks.md) | [Next Day →](../day12/tasks.md) | ||
# Day 11 Task: Advance Git & GitHub for DevOps Engineers: Part-2 | ||
|
||
## Git Stash: | ||
|
||
Git stash is a command that allows you to temporarily save changes you have made in your working directory, without committing them. This is useful when you need to switch to a different branch to work on something else, but you don't want to commit the changes you've made in your current branch yet. | ||
|
||
To use Git stash, you first create a new branch and make some changes to it. Then you can use the command git stash to save those changes. This will remove the changes from your working directory and record them in a new stash. You can apply these changes later. git stash list command shows the list of stashed changes. | ||
|
||
You can also use git stash drop to delete a stash and git stash clear to delete all the stashes. | ||
|
||
## Cherry-pick: | ||
|
||
Git cherry-pick is a command that allows you to select specific commits from one branch and apply them to another. This can be useful when you want to selectively apply changes that were made in one branch to another. | ||
|
||
To use git cherry-pick, you first create two new branches and make some commits to them. Then you use git cherry-pick <commit_hash> command to select the specific commits from one branch and apply them to the other. | ||
|
||
## Resolving Conflicts: | ||
|
||
Conflicts can occur when you merge or rebase branches that have diverged, and you need to manually resolve the conflicts before git can proceed with the merge/rebase. | ||
git status command shows the files that have conflicts, git diff command shows the difference between the conflicting versions and git add command is used to add the resolved files. | ||
|
||
# Task-01 | ||
|
||
- Create a new branch and make some changes to it. | ||
- Use git stash to save the changes without committing them. | ||
- Switch to a different branch, make some changes and commit them. | ||
- Use git stash pop to bring the changes back and apply them on top of the new commits. | ||
|
||
# Task-02 | ||
|
||
- In version01.txt of development branch add below lines after “This is the bug fix in development branch” that you added in Day10 and reverted to this commit. | ||
- Line2>> After bug fixing, this is the new feature with minor alteration” | ||
|
||
Commit this with message “ Added feature2.1 in development branch” | ||
|
||
- Line3>> This is the advancement of previous feature | ||
|
||
Commit this with message “ Added feature2.2 in development branch” | ||
|
||
- Line4>> Feature 2 is completed and ready for release | ||
|
||
Commit this with message “ Feature2 completed” | ||
|
||
- All these commits messages should be reflected in Production branch too which will come out from Master branch (Hint: try rebase). | ||
|
||
# Task-03 | ||
|
||
- In Production branch Cherry pick Commit “Added feature2.2 in development branch” and added below lines in it: | ||
- Line to be added after Line3>> This is the advancement of previous feature | ||
- Line4>>Added few more changes to make it more optimized. | ||
- Commit: Optimized the feature | ||
|
||
## Reference [video](https://youtu.be/apGV9Kg7ics) | ||
|
||
You can Post on LinkedIn and let us know what you have learned from this task by #90DaysOfDevOps Challange. Happy Learning :) | ||
|
||
[← Previous Day](../day10/tasks.md) | [Next Day →](../day12/tasks.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,17 @@ | ||
## Finally!! 🎉 | ||
|
||
You have completed the Linux & Git-GitHub handson and I hope you have learned something interesting from it.🙌 | ||
|
||
Now why not make an interesting 😉 assignment, which not only will help you for the future but also for the DevOps Community! | ||
|
||
Let’s make a well articulated and documented **"cheat-sheet"** with all the commands you learned so far in Linux, Git-GitHub and brief info about its usage. | ||
|
||
Let’s show us your knowledge mixed with your creativity😎 | ||
|
||
_I have added a [cheatsheet](https://www.sqltutorial.org/wp-content/uploads/2016/04/SQL-Cheat-Sheet-2.png) for your reference, Make sure every cheatsheet must be UNIQUE_ | ||
|
||
Post it on Linkedin and Spread the knowledge.😃 | ||
|
||
**Happy Learning :)** | ||
|
||
[← Previous Day](../day11/tasks.md) | [Next Day →](../day13/tasks.md) | ||
## Finally!! 🎉 | ||
|
||
You have completed the Linux & Git-GitHub handson and I hope you have learned something interesting from it.🙌 | ||
|
||
Now why not make an interesting 😉 assignment, which not only will help you for the future but also for the DevOps Community! | ||
|
||
Let’s make a well articulated and documented **"cheat-sheet"** with all the commands you learned so far in Linux, Git-GitHub and brief info about its usage. | ||
|
||
Let’s show us your knowledge mixed with your creativity😎 | ||
|
||
_I have added a [cheatsheet](https://www.sqltutorial.org/wp-content/uploads/2016/04/SQL-Cheat-Sheet-2.png) for your reference, Make sure every cheatsheet must be UNIQUE_ | ||
|
||
Post it on Linkedin and Spread the knowledge.😃 | ||
|
||
**Happy Learning :)** | ||
|
||
[← Previous Day](../day11/tasks.md) | [Next Day →](../day13/tasks.md) |
Oops, something went wrong.