Rohit Sharma Replaces Virat Kohli As an ODI Captain

As the All-India Senior Selection Committee announced the Test squad for the upcoming tour of South Africa, Rohit Sharma was named full-time ODI captain. He will replace Virat Kohli, who stepped down as the team's limited-overs captain after the ICC Men's T20 World Cup. 
In addition, Rohit was named vice-captain of the India Test team, replacing Ajinkya Rahane. Kohli has been named captain of an 18-member squad for the three-match ICC World Test Championship series beginning on 26 December in South Africa.
Rohit returned to the Test side along with KL Rahul, Rishabh Pant, Jasprit Bumrah, and Mohammed Shami, all of whom sat out the series against New Zealand at home.
In addition to Shardul Thakur, the squad also featured Shubman Gill, Axar Patel, and Rahul Chahar. However, Ravindra Jadeja, Shubman Gill, Axar Patel, and Rahul Chahar were all ruled out due to various injuries.
Jayant Yadav, who impressed against New Zealand in his first Test appearance since 2017, was retained in the side and will partner R Ashwin in the spin department. Hanuma Vihari also returned to the side, having impressed for India A in South Africa over the last few weeks. India will play three Tests in South Africa, starting with the Boxing Day Test in Centurion, with the subsequent two matches set to be played in Johannesburg and Cape Town.

India Squad For South Africa

Virat Kohli (Captain), Rohit Sharma, KL Rahul, Mayank Agarwal, Cheteshwar Pujara, Ajinkya Rahane, Shreyas Iyer, Hanuma Vihari, Rishabh Pant (wk), Wriddhiman Saha (wk), R Ashwin, Jayant Yadav, Ishant Sharma, Mohd. Shami, Umesh Yadav, Jasprit Bumrah, Shardul Thakur, Mohammed Siraj.