CSE 3901 COMPREHENSIVE EXAM STUDY
GUIDE COMPLETE QUESTIONS AND
SOLUTIONS
●● 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
git clean --force
GUIDE COMPLETE QUESTIONS AND
SOLUTIONS
●● 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
git clean --force