Guidelines. Use the following Markdown language references, or any other reference that you find or prefer, to perform the tasks requested in this question.
- Markdown language cheat-sheet (pdf)
- Markdown language reference (web)
- Adam Pritchard’s Markdown cheat-sheet (web)
Write the code sections of your answer in Markdown syntax. For example,
```bash
$ git branch -d test
error: Cannot delete branch 'test' checked out at 'C:/Users/Amir/git/foo'
```
will display the following text as highlighted bash code, in your readme.md file (although with a different highlighting and colors).
$ git branch -d test
error: Cannot delete branch 'test' checked out at 'C:/Users/Amir/git/foo'
Include the following information with the following format and information in your main directory readme.md
file (note that anything that appears in <> is supposed to be provided by you):
Beginning of the README file’s content
<Project Name> - <Course Name> (<Season> <year>)
Name: <first name> <last name>
School ID: <your ID>
Email: <your email>
Department: Department of <your department>
University: The University of <your university>
Level: <undergraduate or graduate> - <Freshman (1st year) / Sophomore (2nd year) / Junior (3rd year) / Senior (4th year) / Dinosaur (5th year and above) >
Position Title: Student
Course Webpage: <the course’s website, if any>
Photo (ATTN: should display your photo, not mine!):
Description of the project’s content
This repository contains my homework, quizzes, and virtually every effort that I have made for <course name>. The structure of the project is the following:
- homework: (the homework hyperlink should take the reader to the homework folder)
This directory contains all my homework submissions, each of which is a folder properly named with homework number, containing the homework submission.
- quiz: (the quiz hyperlink should take the reader to the quizzes folder)
This directory contains all my quiz submissions, each of which is a folder properly named with quiz number, containing the quiz submission.
- exam: (the exam hyperlink should take the reader to the exams folder)
This directory contains all my exam submissions, each of which is a folder properly named with exam name or number, containing the exam submission.
For questions and troubleshooting, please contact:
<your name>
<your email>
<any other contact or signature information that you would like to add>
I have not failed. I’ve just found 10,000 ways that won’t work.
Thomas A. Edison
End of the README file’s content
Create two additional test branches in your project, each of which is branched directly from master. For each of the following cases, write the command and the corresponding output message of Git, in Markdown language in a file named readme.md
inside your homework/VCS/
folder in your master branch. If you don’t have this folder in your project, then create the folder and then place your initial readme.md
file in this folder with your signature as the content of the file. Then stage and commit this file together with the homework folder to your local repository. Throughout the rest of this homework, you will fill this readme.md
file with your answers.
Create two branches, both from your master branch, with names test1 and test2.
Now check out the test1 branch and create a new text file named test.txt
in the homework/VCS/
directory of this branch.
Inside test.txt
in test1 branch write this message: This is some example text for branch test1, and save it.
Now stage and commit test.txt
file to branch test1.
Checkout the branch test2. Do you still see test.txt
that you just created in your homework/VCS/
directory? You can search for it by the bash command ls
. Explain why you see/don’t see the file in your working directory anymore.
Create a new text file named test.txt
in the homework/VCS/
directory of this branch as well, and add This is some example text for branch test2 to its content.
Now try to checkout test1. What error/warning message do you get? Fix the source of error and then checkout test1 branch.
Now merge the content of test1 with master branch. (Hint: Note from which branch you doing this merge!)
Now, what do you see as the content of master branch? (Hint: Use ls
bash command, to list the files in the working directory.)
Now merge the content of test2 with master branch. What error/warning message do you get? Why does this error arise?
Now checkout test2. What error/warning message do you get?
Run the Git command git status
. Why does such a conflict exist, as mentioned in git status
output?
At this stage, you have two options: Either,
- (not recommended) stage and commit the combined conflicting
test.txt
file to Git repository or, - open the file
test.txt
using vim editor on the command line and resolve the conflict by editing the content of the file to only this sentence,This is some example text from both test1 and test2 branches combined.
Then save and quit vim.
Now, run git status
, then stage and commit your conflict-resolved file. Then checkout test2 branch.
Now, try deleting branch test1, while on the branch test2. What error/warning message do you get?
Now, switch back to master branch. Now, try deleting branch test1, while on master branch. What message do you get from Git? List all the existing branches using git branch
command.
Why is there such a difference in Git messages between when you tried deleting test1 branch from test2 branch, and when you tried deleting test1 branch from master branch?
Now checkout test2 branch. While on test2, try to delete branch test2. What error/message do you get?
Switch back to master and delete test2 branch. List all your project branches by the appropriate Git command.
Stage and commit all the changes (including the file test.txt
) to your project’s master branch. Now push all to the remote repository.