Which cable should I choose to do data transfer between a 12" MacBook and a 2017 MacBook Pro via target disk mode by Migration Assistant?
After different kinds of attempts, I finally got it work by some sort of magic.

Short answer: USBC 3.1 cable does work, but you have to first leave two MacBooks unconnected, and turn on each other separately. Leave the 12” MacBook stay there for several minutes, with or without power supply, then use the cable to connect. Wait about 5 minutes, the disk will show on desktop or in disk-utility app.

Here’s how I found it working if you are interested:

Although initially I could hear the charging sound from my old 12” MacBook when connecting it to my new MacBook Pro when 12” is on target disk mode, the disk never showed up on migration assistant, desktop or disk utility, for however long time I wait. Then I was thinking if the cable was the right cable, and that brought me to my original question. To troubleshoot the cable, I came up with another idea: I put the new MacBook Pro in target disk mode this time, and connected it my 12” MacBook, see if 12 inch can recognize the new cable. The reason I did this is because in my opinion, the new MacBook definitely can use this 3.1 cable, since it’s thunderbolt 3 port so it shoudn’t have downwards capability issue, but I am not sure if the USBC port on 12” could since it is still a USBC gen1 port and this cable is gen2.

To my surprise, about 2 minutes later the disk from my new MacBook showed up on my 12”, and I did a little file transfer successfully. So the cable is good, and there’s no reason it can’t be used reversely. I begin to make different attempts, by reversing the cable(although I know this shouldn’t be an issue for usb-c), and by booting each MacBook in different orders with cable connected or without.

Finally, it led me to the result I described in my short answer. And I tried 3 more time, all work. Booting with the cable already attached will not give you any result, at least in my case. I waited the whole night long and I still didn’t see it was mounted when I woke up this morning. So if are you experiencing this issue, definitely try booting the computers separately without cable connected, and then connect it. And most importantly, you may have to wait(plus, I actually found this method by accident as well. After so many failures I was calling an apple care representative for help, and she put me on hold to find the infomrmstion on whether this cable would work or not. While waiting for her reply about 5 minutes later, the disk showed up! So I recalled what I did, and that is in my short answer) for several minutes. I don’t know the reason, and this could be very tricky as you may think this would fail again. But be patient and follow the steps and you will be good!

Edit: I’m still keeping the thunderbolt 3 cable however, and I will try that with some updates later. I’m doing the migration now. Finger crossed!