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 a class named VersionControl with methods for initializing the lines of code, committing changes, and restoring to a previous version.
  class VersionControl:
      def __init__(self, lines):
          self.lines = lines
          self.mark = 0
   
      def commit(self):
          self.mark += 1
          log_file = open("log_file.txt", "a+")
          log_file.write(str(self.mark) + ": " + str(self.lines))
          log_file.close()
   
      def restore(self):
          log_file = open("log_file.txt", "r")
          lines = log_file.readlines()
          to_mark = self.mark-1
   
          self.lines = lines[to_mark]
          log_file.close()
  assert VersionControl(["line1", "line2"]).commit()=="1: ['line1', 'line2']"
  assert VersionControl(["line1", "line2"]).restore()==['line1', 'line2']
  assert VersionControl(["line1", "line2", "line3"]).commit()=="2: ['line1', 'line2', 'line3']"
  assert VersionControl(["line1", "line2", "line3"]).restore()==['line1', 'line2', 'line3']
output: class VersionControl:
      def __init__(self, lines):
          self.lines = lines
          self.mark = 0
   
      def commit(self):
          self.mark += 1
          log_file = open("log_file.txt", "a+")
          log_file.write(str(self.mark) + ": " + str(self.lines) + "\n")
          log_file.close()
          return str(self.mark) + ": " + str(self.lines)
   
      def restore(self):
          log_file = open("log_file.txt", "r")
          lines = log_file.readlines()
          to_mark = self.mark-1
          self.lines = eval(lines[to_mark].split(": ", 1)[1])
          log_file.close()
          return self.lines