Where can HEAD point?
- To a branch
- To a branch or nowhere
- To a branch or a commit (Ans)
- To a branch, a commit, a tree, or a blob
How does “git rebase” move an existing commit?
- It copies over the commit to a new commit with a different parent and SHA1. (Ans)
- None of these
- It just changes the parent in the commit file.
- It changes the commit’s parent and its SHA1.
What’s one difference between merges and rebases?
- Rebases change history, merges don’t. (Ans)
- None of these
- Rebases create commits with multiple parents, merges don’t.
- Merges create a new commit object, rebases don’t
What’s a “pull”?
- A “merge” followed by a “push”
- A “push” followed by a “merge”
- A “fetch” followed by a “push”
- A “fetch” followed by a “merge” (Ans)
Which of these is not a Git command?
- git fetch
- git fork (Ans)
- git push
- git clone
The setting, core.autocrlf, configures:
- automatic addition of line breaks to commit messages.
- autocorrection of spelling errors in commit messages.
- conversion of line endings between the repository and working copy. (Ans)
- stripping extra line breaks from the end of files.
Which command creates a local git repository?
- git localrepo
- git init (Ans)
- git repo
- git initrepo
Performing a git pull is equivalent to a git fetch followed by:
- git merge (Ans)
- git rebase
- git cherry-pick
- git reset –hard
Cherry-picking a commit will:
- apply only that commit to the current branch. (Ans)
- remove the commit from its source branch and apply it to the current branch.
- apply that commit and all subsequent commit to the current branch.
- apply that commit and all previous commits to the current branch.
The advantage of a DVCs is:
- full local history
- easy backups
- all of these (Ans)
- reliable branching/merging
- different topologies
To remove and discard the changes from the last commit on your current branch, you should use:
- git reset –soft HEAD
- git revert HEAD
- git revert HEAD~1
- git reset –hard HEAD
- git reset –hard HEAD~1 (Ans)
Which URL style should you use if you want to avoid using passwords?
- email@example.com:username/repository.git (Ans)
Given an unmerged feature branch, feature1, what is the effect of running “git branch -d feature1”?
- Deletion of feature1 will fail silently
- feature1 will not be deleted and an error message will be displayed (Ans)
- Git will display the prompt “Unmerged changes. Confirm delete? (y/N)”
- feature1 will be deleted
User-level configuration in Git can be modified using:
- git config –system
- git config
- git config –user
- git config –global (Ans)
Which file lists the files and directories that should not be committed to the repository?
- .gitignore (Ans)
What feature in Git allows you to become more efficient at the command line?
- Speech recognition
- Keyboard shortcuts
- Aliases (Ans)
When is a commit A said to be reachable from another commit B?
- When B is an ancestor of A
- When A is the direct parent of B
- When A and B are patch equivalent
- When A is an ancestor of B (Ans)
How can Git calculate patches on the fly?
- It’s really good at math.
- It uses the patience algorithm.
- It stores the entire files in the working directory for each commit. (Ans)
- It stores deltas between files in the working directory.
What is the difference between the -S and -G options of git log?
- -S searches for matching lines that are removed, while -G searches for lines that are added.
- -S searches for matching lines that are either added, removed, or modified, while -G only includes lines that are modified.
- -S searches for matching lines that are either added or removed, while -G also includes lines that are modifie- (Ans)
- -S searches for matching lines that are either added or removed, while -G also includes lines that are modified.
In which scenario is git rerere useful?
- When dealing with complex merge conflicts
- When merging more than two branches
- When dealing with a lot of different merge conflicts
- When dealing with the same merge conflict more than once (Ans)