|
| 1 | +# Version Control |
| 2 | + |
| 3 | +In this lab, you will learn about version control systems and their importance in collaborative software development. You will specifically focus on Git, one of the most widely used version control systems. Follow the tasks below to complete the lab assignment. |
| 4 | + |
| 5 | +## Task 1: Understanding Version Control Systems |
| 6 | + |
| 7 | +**To achieve a grade of 6/10**, follow these steps: |
| 8 | + |
| 9 | +1. Conduct research to understand the concept of version control systems and their significance in collaborative software development. |
| 10 | +2. Create a Markdown file named "VersionControl.md" in the lab3 folder and provide the following information: |
| 11 | + - Definition of version control systems and their purpose |
| 12 | + - Explanation of the benefits and advantages of using version control in a collaborative environment |
| 13 | + - Overview of different types of version control systems (centralized, distributed, etc.) |
| 14 | + - Comparison of popular version control systems (Git, Subversion, Mercurial, etc.) |
| 15 | +3. Use your own words to explain the concepts and provide examples to support your explanations. |
| 16 | + |
| 17 | +## Task 2: Practice with Git Reset Command |
| 18 | + |
| 19 | +**To earn an additional 4 points**, follow these steps to practice using different ways to use the `git reset` command: |
| 20 | + |
| 21 | +1. Create a new branch named "git-reset-practice" in your Git repository. |
| 22 | +2. Perform the following actions on the branch: |
| 23 | + a. Make several commits with different changes to a file. |
| 24 | + b. Use `git reset` with different options (soft, mixed, hard) to undo the commits and observe the changes. |
| 25 | + c. Experiment with resetting to a specific commit using commit hashes or relative references (e.g., HEAD~2). |
| 26 | + d. Take note of the differences and outcomes of each `git reset` variation. |
| 27 | +3. Document your practice in a Markdown file named "GitResetPractice.md" in the lab3 folder and include the following details: |
| 28 | + - Steps you took to perform the Git reset operations. |
| 29 | + - Description of the different `git reset` options used and their effects. |
| 30 | + - Examples and outputs of the commands executed. |
| 31 | + - Reflection on the benefits and use cases of the `git reset` command in version control workflows. |
| 32 | + |
| 33 | +### Guidelines |
| 34 | + |
| 35 | +- Use proper Markdown formatting and structure for the documentation files. |
| 36 | +- Organize the files within the lab folder using appropriate naming conventions. |
| 37 | +- Create a Pull Request to the main branch of the repository with your completed lab assignment. |
| 38 | + |
| 39 | +> Note: It is crucial to actively practice and experiment with the `git reset` command during this lab to gain hands-on experience and a better understanding of its functionalities in version control workflows. |
0 commit comments