My prefab keeps changing in game

I started with unity yesterday, and decieded that i want to make an endless runner as my first project.
I planned to build single level parts wich will be put together randomly. At the end of each part is a trigger wich spawns in the next part when I trigger it. It uses a prefab. But the part contains movable objects, and when I spawn in the next part, it just clones the last part, with the objects already moved, so I get a part already “used”
How do I spawn the new parts from the original prefab?

code to spawn new segments:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SegmentSpawnScript : MonoBehaviour
{
public Transform spawnPos;
public GameObject segment;
public GameObject trigger;
void OnTriggerEnter(Collider Player)
{

Instantiate(segment, spawnPos.position, spawnPos.rotation);
Destroy(trigger);
}
}

Picture of the segment:

If “segment” is the original prefab, and you aren’t making changes to the prefab at run time, then it should instantiate in its original state. I suspect you’re making changes to the prefab before you instantiate another copy though.

Thats the point, I want it to generate as I move on in the Level, so I can only use already “used” modules.
I thought if I instantiate a prefab, It would always appear in its original state, but after I “use” the first module spawned by its Prefab, It spawns in the 2nd, 3rd and so on module already used. I think the first spawn is a copy of the original prefab, the second spawn is a copy of the first at the time the second spawn is created. I need a sort of Blueprint or Prefab that never gets overwritten in Game, so it always instantiates the originaly designed part of the level, not a copy of the last one spawned.

When you instantiate a prefab it appears as the original prefab was saved in the editor. The only ways you get the behavior you are seeing is if you are modifying the prefab at runtime, or instantiating the already spawned module instead of the prefab (making a copy of something already in the scene instead of instantiating the prefab). Go through your code where you are making changes to these modules and verify you’re not accidentally changing the prefab, and make sure everywhere you are instantiating modules you are only instantiating the prefab.