1) Since RCS stores the version control file in the same dreictory as the source, the directory can become very cluttered if you are managing a directory with many different source files in it. Git manages all of this in a separate "git" directory, which the softwares accesses and manages itself through the command line. 2) Git and RCS are not good tools for storing Microsoft Word Documents or Unix binary files because those file's contents are not 100% dictated by the user. Microsoft word adds plenty of background information to your document, such as its own revisions and header information. Binary files contents are dependant on the compiler you use, and even the optimization level used. This means that the same exact code compiled using different optimization levels will show up differently. These tools could be changed to target only what the user is interested, in the case of Word files, this might be only the plain text portions of the file and ignore everything else. There's not much to do in the way of Binary files, except for if you really just want to check if the two files are exactly the same, binary wise - then you can just peform a simple checksum on the two being compared. 3) First set up my name and email: git config --global user.name "Steven Bergey" git config --global user.email "stevenbergey"@macrosoft.com" I would then clone the repository to my local machine: git clone REPO-LOCATION Next, I would take a look at the change-log for any references to bug 377: git log | grep "Bug no. 377" (or however the bug numbers are formatted) Once the bug location is found, I would create a branch for this bug-fix and move into it: git branch bug_377_fix_v00 git checkout bug_377_fix_v00 I would then fix the the bug in file foo.c and commit the changes: git add foo.c git commit -m "Fixed bug 377, previous dev did not correctly document edf header file" Next I would push the branch to the repo: git push origin bug_377_fix_v00 If the change was accepted, then we would merge it: git merge bug_377_fix_v00 4) steve@steves-laptop ~/Desktop/exam3 $ git clone https://github.com/temple-engr-ece3822/exam_03.git Cloning into 'exam_03'... remote: Counting objects: 13, done. remote: Compressing objects: 100% (10/10), done. remote: Total 13 (delta 1), reused 13 (delta 1) Unpacking objects: 100% (13/13), done. Checking connectivity... done. steve@steves-laptop ~/Desktop/exam3 $ ls exam_03 Untitled Document 1 steve@steves-laptop ~/Desktop/exam3 $ cd exam_03/ steve@steves-laptop ~/Desktop/exam3/exam_03 $ ls edfplus.py README.md we2_average.py we2_evaluate.py we2_train.py steve@steves-laptop ~/Desktop/exam3/exam_03 $ more README.md steve@steves-laptop ~/Desktop/exam3/exam_03 $ cat README.md steve@steves-laptop ~/Desktop/exam3/exam_03 $ git branch steve_branch steve@steves-laptop ~/Desktop/exam3/exam_03 $ git checkout steve_branch Switched to branch 'steve_branch' steve@steves-laptop ~/Desktop/exam3/exam_03 $ git config --global user.email "ece-3822-01@temple.edu" steve@steves-laptop ~/Desktop/exam3/exam_03 $ git tag -a v1.4 -m "bergey_steven" steve@steves-laptop ~/Desktop/exam3/exam_03 $ ls edfplus.py README.md we2_average.py we2_evaluate.py we2_train.py *EDITED FILES IN GEDIT HERE* steve@steves-laptop ~/Desktop/exam3/exam_03 $ git add * steve@steves-laptop ~/Desktop/exam3/exam_03 $ git commit -m "# ECE 3822 Exam No. 3 steve" [steve_branch a896cb3] # ECE 3822 Exam No. 3 steve 4 files changed, 4 insertions(+) steve@steves-laptop ~/Desktop/exam3/exam_03 $ git push origin steve_branch Username for 'https://github.com': ece-3822-01 Password for 'https://ece-3822-01@github.com': Counting objects: 11, done. Delta compression using up to 2 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 624 bytes | 0 bytes/s, done. Total 6 (delta 4), reused 0 (delta 0) To https://github.com/temple-engr-ece3822/exam_03.git * [new branch] steve_branch -> steve_branch