#### Reverting the Working Tree to an Earlier Commit   On many occasions it will be helpful to revert the working tree the state in a previous commit, either temporarily or permanently. You may find the book _Pro Git_ helpful in answering these questions.   a. **Ancestry References** are relative commit references and there are (of course) two forms with subtly different behaviours: the `^` (caret) or `~` (tilde). What is the difference between the two _and_ will this difference be relevant with the branching strategy used in ENGR 301? b. **Commit Ranges** are useful with `git log` and other commands which will operate on ranges of commits, with the most common syntaxes being the `..` (double dot) and `...` (triple dot). What is the difference between these two syntaxes in practice?   c. The **RefLog** is useful when a mistake has been made and previous versions of files need to be recovered. What is the RefLog, i.e. what does `git reflog` show and what is the most basic limitation in its ability to be used to retrieve work deleted from the working tree?

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 5PE
icon
Related questions
Question
#### Reverting the Working Tree to an Earlier Commit

 

On many occasions it will be helpful to revert the working tree the state in a previous commit, either temporarily or permanently. You may find the book _Pro Git_ <https://git-scm.com/book/en/v2> helpful in answering these questions.
 
a. **Ancestry References** are relative commit references and there are (of course) two forms with subtly different behaviours: the `^` (caret) or `~` (tilde). What is the difference between the two _and_ will this difference be relevant with the branching strategy used in ENGR 301?

b. **Commit Ranges** are useful with `git log` and other commands which will operate on ranges of commits, with the most common syntaxes being the `..` (double dot) and `...` (triple dot). What is the difference between these two syntaxes in practice?
 
c. The **RefLog** is useful when a mistake has been made and previous versions of files need to be recovered. What is the RefLog, i.e. what does `git reflog` show and what is the most basic limitation in its ability to be used to retrieve work deleted from the working tree?
Expert Solution
steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
Operations of Fibonacci Heap
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning