input: Write a function to implement a basic version control system in Python that keeps track of changes in the code. The function should be part of a class named VersionControl with an initializer (__init__) that takes a list of lines as input. The class should have methods to commit changes, which increments a mark and logs the current state of the lines, and to restore the code to a previous state based on the mark.
  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(["def hello():\n", "    print('Hello, World!')"]).commit() == None
  assert VersionControl(["def hello():\n", "    print('Hello, World!')"]).restore() == None
output: 
  class VersionControl:
      def __init__(self, lines):
          self.lines = lines
          self.mark = 0
          self.logs = []
  
      def commit(self):
          self.mark += 1
          self.logs.append(self.lines[:])
  
      def restore(self, mark):
          if mark <= self.mark and mark > 0:
              self.lines = self.logs[mark-1][:]
              self.mark = mark
  