Kostas Diakogiannis
Quiz by , created more than 1 year ago

A 16 Questions basic self-assessment test regarding git and github workflow. Thus the participants can estimate how good they have proceeded with git, how further they need to go. Also for the teacher is a good tool for solving the commonest misconceptions on the spot.

163
0
0
Kostas Diakogiannis
Created by Kostas Diakogiannis over 5 years ago
Close

Git self assesment Quiz

Question 1 of 16

1

How can someone convert a normal folder with name my_project into a local git repository?

Select one of the following:

  • Git merge my_project

  • Git remote add origin my_project

  • Git init

  • Git push origin my_project

Explanation

Question 2 of 16

1

When someone clones a remote repository to his computer, this automatically gives him the access to change the code to the files in his computer and to push his code back to remote again.

Select one of the following:

  • True
  • False

Explanation

Question 3 of 16

1

What is the ultimate prerequisite for someone in order to perform a commit?

Select one of the following:

  • Having the file changes stashed.

  • Having just changed some files.

  • Having the changed file also staged.

Explanation

Question 4 of 16

1

Select the correct order of the actions , that have to be made if someone wants to send his code to remote from the beginning.

Select one of the following:

  • 1. Make some file changes
    2. Commit them
    3. Stage them
    4. Push

  • 1. Make file changes
    2. Stage them
    3. Commit them
    4. Pull

  • 1. Make file changes
    2. Stage them
    3. Commit them
    4. Push

Explanation

Question 5 of 16

1

You created a branch from master and you have been working on it tirelessly. You have already made some changes but you havn't staged them.

Suddenly a colleague of yours says to you that he has updated the master branch on remote and you must downloaded the latest changes.

How are you going to save your file changes on your current branch without performing a commit, in order to fetch the new code from master?

Select one of the following:

  • Git add --all

  • Git commit -m 'some changes'

  • Git push origin branch

  • Git stash

Explanation

Question 6 of 16

1

You have made a commit with some awesome changes and you pushed to remote. Unfortunately you have forgotten to add one small change to your previous commit. What should you do?

Select one of the following:

  • After the changes, make a new commit, then push.

  • Fill the previous commit and add new changes there by typing *Git commit --amend*

Explanation

Question 7 of 16

1

A colleague of your has updated the master branch while you were working on your branch locally. You have already brought these changes to your local master and you want to have them to your local branch as well regardless of commit order.

What seems correct? Your branch's name is jake.

Select one of the following:

  • 1. Git checkout master
    2. Git merge jake

  • 1. Git checkout jake
    2. Git merge master

  • 1. Git checkout master
    2. Git rebase jake

  • 1. Git checkout jake
    2. Git rebase master

Explanation

Question 8 of 16

1

When someone creates a local branch, that means that a corresponding branch is being automatically created on remote.

Select one of the following:

  • True
  • False

Explanation

Question 9 of 16

1

You have been working on your local branch and now you are ready to introduce these commits to your local master. What is the appropriate command given that you are standing on master now and given the name of your branch is jake.

Select one of the following:

  • Git push jake

  • Git push origin master

  • Git merge origin master

  • Git merge jake

Explanation

Question 10 of 16

1

What is the appropriate action to get out of the merge process right after you have solved merge conflicts in text editor?

Select one of the following:

  • 1. Git add --all
    2. Git commit -m 'some message about the merge'

  • 1. Git commit -m 'some message about the merge'

  • 1. Git stash
    2. Git commit -m 'some message about the merge'

  • Git push --force

Explanation

Question 11 of 16

1

What is the difference between merge and rebase?

Select one of the following:

  • Rebase is a better option because you can pick a specific commit from another branch or from past and put it on top of your branch.

  • Rebase brings all commits from master branch and puts them on top of your branch's commits.

  • Rebase brings all commits from the specified branch but keeps the commits of your branch on top of them.

  • Rebase brings all the commits from the remote master but keep yours on top.

Explanation

Question 12 of 16

1

How do you discard changes that you accidentally made in a file that is currently unstaged? The file is example.scss
The commit that you are currently is eb4c29u.

Select one of the following:

  • Git reset HEAD example.scss

  • Git revert HEAD

  • Git checkout eb4c29u

  • Git checkout -- example.scss

  • Git checkout example.scss

Explanation

Question 13 of 16

1

How to unstage a file that i have accidentally staged?

Select one of the following:

  • Git checkout example.scss

  • Git reset --hard example.scss

  • Git reset HEAD example.scss

  • Git checkout HEAD

Explanation

Question 14 of 16

1

How can someone discard the last commit and return to previous one without deleting anything?
The commit hash is eb49uf2

Select one of the following:

  • Git reset --hard eb49uf2

  • Git checkout eb49uf2

  • Git revert HEAD

  • Git cherry-pick eb49uf2

Explanation

Question 15 of 16

1

What is the appropriate action if someone wants to go back to the commit with hash eb49uf2 safely without deleting all the in-between commits?

Select one of the following:

  • Git checkout eb49uf2

  • Git revert eb49uf2

  • Git merge eb49uf2

  • Git reset --hard eb49uf2

Explanation

Question 16 of 16

1

16. What does *Git cherry-pick* command do?

Select one of the following:

  • To fetch all the code from a specific branch to your branch by putting the other branche's commits on top of your own.

  • To fetch all the code from a specific branch to your branch by putting your branche's commits on top of the others.

  • To bring a specific commit from different branch. This commit will go on top of your commits.

  • To bring a specific commit from different branch. This commit comes, but your branche's commits remain on top.

Explanation