How to detect which player shot the bullet?

A player shoots a bullet:

if (Input.GetButtonDown("Fire1"))
		{
			Rigidbody bulletInstance;
			bulletInstance = Instantiate(Bullet, barrelEnd.position, barrelEnd.rotation) as Rigidbody;
			bulletInstance.AddForce(barrelEnd.forward * Velocity);	
		}

And then when my bullet hits the enemy I want to know which players bullet it was that shot the bullet. This is in my Bullet class:

void OnCollisionEnter(Collision collision)
{
	if (collision.gameObject.tag == "Enemy")
	{
		collision.gameObject.SendMessage("Hit");
		Destroy(gameObject);
	}
}

Basically what I want to do is to be able add to the score of the player who shot the bullet. Any ideas?

You should place a reference to the shooter in the Bullet script when shooting - like this (supposing that the bullet script is called Bullet.cs):

if (Input.GetButtonDown("Fire1"))
       {
         Rigidbody bulletInstance;
         bulletInstance = Instantiate(Bullet, barrelEnd.position, barrelEnd.rotation) as Rigidbody;
         bulletInstance.AddForce(barrelEnd.forward * Velocity); 
         // set the shooter variable in the bullet script:
         bulletInstance.GetComponent<Bullet>().shooter = transform;
       }

Obviously, you should declare a public Transform variable shooter in the bullet script

public Transform shooter;

void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.tag == "Enemy")
    {
       collision.gameObject.SendMessage("Hit");
       Destroy(gameObject);
       shooter.SendMessage("AddToScore", 5); // add 5 points to the shooter's score
    }
}

And some script attached to the player should have the function AddToScore that would effectively increment the score:

void AddToScore(int points){
    score += points;
}