input: Write a function to implement a basic version control system in Python that keeps track of changes in the code. The function should include the following methods: `__init__(self, lines)`, `commit(self)`, and `restore(self)`. The `__init__` method initializes the lines of code and a marker to track changes. The `commit` method should increment the marker and write the current version of the lines to a log file. The `restore` method should retrieve the previous version of the lines from the log file based on the marker.
  assert VersionControl(["print('Hello')", "print('World')"]).restore()=="1: ['print(\\'Hello\\')', 'print(\\'World\\')']"
  assert VersionControl(["if True:", "    print('Yes')", "else:", "    print('No')"]).commit()==None
  assert VersionControl([]).restore()==None
  assert VersionControl(["x = 1", "y = 2", "z = x + y"]).restore()=="3: ['x = 1', 'y = 2', 'z = x + y']"
  assert VersionControl(["def add(a, b):", "    return a + b"]).restore()=="1: ['def add(a, b):', '    return a + b']"
output: class VersionControl:
      def __init__(self, lines):
          self.lines = lines
          self.marker = 0
          self.log = []
  
      def commit(self):
          self.marker += 1
          self.log.append((self.marker, self.lines[:]))
  
      def restore(self):
          if self.log:
              return f"{self.log[-1][0]}: {self.log[-1][1]}"
          return None