A data transmission method performed by a terminal device, wherein the method comprises: • sending a first data packet to a network device in a first time unit in a grant free uplink, GUL, transmission manner (S 210), ∘ wherein the first data packet corresponds to a first hybrid automatic repeat request, HARQ, process number, the first data packet corresponds to first new data indication information, and the first new data indication information is used to indicate whether the first data packet is an initially to be transmitted data packet or a retransmitted data packet, and • sending grant free uplink control information, G-UCI, to the network device, wherein the G-UCI is control information corresponding to the first data packet, and the G-UCI includes information about the first HARQ process number and includes the first new data indication information; • receiving first instruction information and second new data indication information from the network device, ∘ wherein the first instruction information is used to instruct the terminal device to send a second data packet in a second time unit, the second data packet corresponds to the first HARQ process number, the second time unit is located after the first time unit in terms of time, the second data packet corresponds to the second new data indication information, and the second new data indication information is used to indicate whether the second data packet is an initially to be transmitted data packet different from the first data packet or is a retransmitted data packet of the first data packet (S 220); • wherein the method further comprises the steps of: ∘ when the value of the first new data indication information is the same as the value of the second new data indication information, retaining the first data packet in a buffer. • sending a first data packet to a network device in a first time unit in a grant free uplink, GUL, transmission manner (S 210), ∘ wherein the first data packet corresponds to a first hybrid automatic repeat request, HARQ, process number, the first data packet corresponds to first new data indication information, and the first new data indication information is used to indicate whether the first data packet is an initially to be transmitted data packet or a retransmitted data packet, and ∘ wherein the first data packet corresponds to a first hybrid automatic repeat request, HARQ, process number, the first data packet corresponds to first new data indication information, and the first new data indication information is used to indicate whether the first data packet is an initially to be transmitted data packet or a retransmitted data packet, and • sending grant free uplink control information, G-UCI, to the network device, wherein the G-UCI is control information corresponding to the first data packet, and the G-UCI includes information about the first HARQ process number and includes the first new data indication information; • receiving first instruction information and second new data indication information from the network device, ∘ wherein the first instruction information is used to instruct the terminal device to send a second data packet in a second time unit, the second data packet corresponds to the first HARQ process number, the second time unit is located after the first time unit in terms of time, the second data packet corresponds to the second new data indication information, and the second new data indication information is used to indicate whether the second data packet is an initially to be transmitted data packet different from the first data packet or is a retransmitted data packet of the first data packet (S 220); ∘ wherein the first instruction information is used to instruct the terminal device to send a second data packet in a second time unit, the second data packet corresponds to the first HARQ process number, the second time unit is located after the first time unit in terms of time, the second data packet corresponds to the second new data indication information, and the second new data indication information is used to indicate whether the second data packet is an initially to be transmitted data packet different from the first data packet or is a retransmitted data packet of the first data packet (S 220); • wherein the method further comprises the steps of: ∘ when the value of the first new data indication information is the same as the value of the second new data indication information, retaining the first data packet in a buffer. ∘ when the value of the first new data indication information is the same as the value of the second new data indication information, retaining the first data packet in a buffer.