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? This is a quick image showing my cables and MacBooks.

I got a new MacBook Pro 13" with Touch Bar (A1706) and now I need to transfer all my data from my old 12" MacBook (A1534) to it. While Migration Assistant always generates errors over Wi-Fi, I see target disk mode could do the work.

From this official article by Apple it says:


  Target disk mode on MacBook Pro with Thunderbolt 3 (USB-C) ports
  
  You can use target disk mode to transfer data between MacBook Pro
  models with Thunderbolt 3 and other Mac computers.
  
  To use target disk mode between a MacBook Pro with Thunderbolt 3 and
  another Mac notebook's USB-C port, connect the two computers with a
  USB-C cable such as the Belkin 3.1 USB-C to USB-C Cable.


So I got this Belkin 3.1 cable. However, when I restart the 12" MacBook into target disk mode and connect it to my 13" MacBook Pro when Migration Assistant is searching for the source, nothing happens. 

Before this I actually accidentally got a Thunderbolt 3 cable to try, and nothing happened either.

So even the official post is not telling the right thing? Or where did I get it wrong? Which cable should I get to complete the job? I'm so confused right now.
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!