CSE 3901 MIDTERM QUESTION SET WITH
RATIONALES AND OBJECT-ORIENTED
PROGRAMMING AND GIT OPERATIONS
REVIEW 2026
◉ Git Working Tree.
Answer: project itself
Ordinary directory with files & subdirectories
◉ Git Store.
Answer: history of project
◉ Git Index.
Answer: virtual snapshot
Gateway for moving changes in the working tree into the store
◉ Git History.
Answer: DAG of commits
,Each commit represents a complete snapshot of the entire project
◉ Git Revision.
Answer: Just the manual editing of the file
◉ Git Commit.
Answer: updates head and branch (permanent)
identified by a hash
◉ Git Branch.
Answer: a pointer to a commit
◉ how to add git branch.
Answer: git branch branchname
git checkout branchname
◉ how to change git branch.
Answer: git checkout branchname
◉ Git Head.
Answer: a pointer to a branch
,(where you're at)
◉ Git Add.
Answer: adds the submission
◉ how to add (all steps).
Answer: git add name.rb
git commit -m "comment"
git push remote_name branch_name
◉ Git Checkout.
Answer: moves head to look at another branch
◉ Git Merge.
Answer: brings two together, adds new commit
◉ Git Fast-Forward Merge.
Answer: bring old into new head
◉ Git Fetch.
Answer: bring in commits that given user lacks
, ◉ Git Push.
Answer: opposite to fetch. Give someone a change
◉ Git Pull.
Answer: combines fetch and merge
◉ Git No Conflict Merge.
Answer: Automatically commits
◉ Distributed version control.
Answer: Multiple people, distributed across network
- each person has their own repository
- units of data movement: changesets
◉ Number of repositories per team.
Answer: n+1.
1 shared, 1 local for each
◉ Discard Changes in Git : reset.
Answer: git reset --hard
git clean --dry-run
RATIONALES AND OBJECT-ORIENTED
PROGRAMMING AND GIT OPERATIONS
REVIEW 2026
◉ Git Working Tree.
Answer: project itself
Ordinary directory with files & subdirectories
◉ Git Store.
Answer: history of project
◉ Git Index.
Answer: virtual snapshot
Gateway for moving changes in the working tree into the store
◉ Git History.
Answer: DAG of commits
,Each commit represents a complete snapshot of the entire project
◉ Git Revision.
Answer: Just the manual editing of the file
◉ Git Commit.
Answer: updates head and branch (permanent)
identified by a hash
◉ Git Branch.
Answer: a pointer to a commit
◉ how to add git branch.
Answer: git branch branchname
git checkout branchname
◉ how to change git branch.
Answer: git checkout branchname
◉ Git Head.
Answer: a pointer to a branch
,(where you're at)
◉ Git Add.
Answer: adds the submission
◉ how to add (all steps).
Answer: git add name.rb
git commit -m "comment"
git push remote_name branch_name
◉ Git Checkout.
Answer: moves head to look at another branch
◉ Git Merge.
Answer: brings two together, adds new commit
◉ Git Fast-Forward Merge.
Answer: bring old into new head
◉ Git Fetch.
Answer: bring in commits that given user lacks
, ◉ Git Push.
Answer: opposite to fetch. Give someone a change
◉ Git Pull.
Answer: combines fetch and merge
◉ Git No Conflict Merge.
Answer: Automatically commits
◉ Distributed version control.
Answer: Multiple people, distributed across network
- each person has their own repository
- units of data movement: changesets
◉ Number of repositories per team.
Answer: n+1.
1 shared, 1 local for each
◉ Discard Changes in Git : reset.
Answer: git reset --hard
git clean --dry-run