Incorrect: I have given a gift yesterday.
Correct: 1)I gave a gift yesterday.
2)I have given a gift.
Explanation:
1.I gave a gift yesterday
Simple past: subject +V2 (V2- past form of a verb)
To express a point of time in the past,use simple past.
2.I have given a gift
Present perfect: subject+has/have+V3 (V3-past participle form of verb)
To express a past event without time indication,use present perfect.
V1 V2 V3
give gave given