Unit 11: Development Tools - Subjective Questions

CSE105 — Creative Engineering Workshop • Practice Questions with Detailed Answers

20 questions

1

Define Version Control and explain why it is essential in modern software development.

2

Distinguish between Centralized Version Control Systems (CVCS) and Distributed Version Control Systems (DVCS) with suitable examples.

3

Explain the three main states of a file in Git and how files move between them.

4

Describe the purpose of the git init command and what happens internally when it is executed.

5

Explain the roles of git add, git commit, and git status with example commands.

6

What is the purpose of git log? Describe some useful options/flags used with it.

7

Differentiate between Git and GitHub. Why are both commonly used together?

8

Define a Repository in Git. Distinguish between a local repository and a remote repository.

9

Explain the git clone, git push, and git pull commands and their role in collaboration.

10

What is branching in Git? Explain its importance and the common commands used to work with branches.

11

Explain the concept of merging in Git. Describe Fast-Forward and Three-Way merges. [10 Marks]

12

What is a Pull Request (PR)? Describe the typical workflow of creating and reviewing a pull request on GitHub. [10 Marks]

13

Compare the commands git fetch and git pull. When should each be used?

14

Describe the difference between the working directory, the staging area, and the repository using a practical example.

15

What are AI-Assisted CLI Tools? Explain their features and benefits in a developer's workflow. [10 Marks]

16

Explain the purpose of the .gitignore file. Give examples of entries that are commonly ignored.

17

What is a merge conflict in Git? Explain how it occurs and the steps to resolve it.

18

Explain the significance of a commit message. Describe the characteristics of a good commit message.

19

Compare Merge and Rebase in Git. Discuss the advantages and disadvantages of each. [10 Marks]

20

Describe a complete end-to-end Git & GitHub workflow for a team member contributing a new feature to a project.