Why did lord Krishna attack Bhishma (Bhishma Pitamaha), inspite of vowing that he would not pick up a weapon in Kurukshetra?
Shri Krishna had to attack Bhisma (actually He almost attacked him) because Arjuna was unable to stop the wrath that Bhisma had unleashed. Arjuna promised Shri Krishna to take out Bhisma in battle:
But while battling with Bhisma, Arjuna broke the string of his own bow:
So Shri Krishna seeing that Arjuna was fighting mildly and Bhisma was showering arrows, put away the reins of the horses and jumped down from the chariot and proceeded to kill Bhisma:
But after that, Arjuna pleaded Krishna to not break His vow and promised to kill Bhisma himself. Shri Krishna in anger without saying a word to Arjuna (unlike what we have seen in TV shows) goes back and mounts the chariot.
So from this account of the Mahabharat, it seems that Shr Krishna even though had promised to not use weapons, was forced to take step for using one due to the unstoppable wrath of Bhisma which Arjuna had failed to prevent.
On a side note, Shri Krishna did this because His main purpose was not to be known as someone who keeps his vow, but to establish dharma as He had stated to Arjuna in Gita (4.7-8). So when He saw the side of dharma was facing trouble in the battle, He had to interfere it anyway. Also, He might have done it to please Bhisma as well who was His devotee.
REFERENCE: Mahabharat - Bhisma Parva
Before the war of Mahabharata had started, Arjuna and Duryodhana both approached Krishna for help in the war. Krishna had himself (with the vow not to use weapons), and his mighty army. He asked the two to take one each. Duryodhana, chose the mighty army of Krishna, while Arjuna humbly begs Krishna to be just his charioteer, knowing that whichever side Krishna is in, will win the war.
When Duryodhana goes back to Hastinapur, he starts bragging about his act, and that Arjuna must be a fool that he opted for Krishna, knowing about his vow. Bheeshma immediately reckons Krishna's plot, and taunts Duryodhana for his ignorance. And argument errupts between the two and leads Bheeshma to vow that he would make Krishna use weaponry in the war.
Bhishma was a true devotee of Krishna, knowing which, Krishna plots to break his own vow, and let Bhishma complete his.
So, just one day before Bheeshma was about to lay on the baadon ki shaiya (bed of arrows), Krishna pretends that he is annoyed by Bheeshma's attacks and Arjuna's reluctant behaviour of not fighting against Bhishma with all the power he has, and goes to attack Bheeshma with a broken chariot wheel. Bheeshma understood that Krishna is staging an act just to uphold Bheeshma's vow, and surrenders to Krishna to kill him.
As the vow is now broken, and Krishna doesn't intend to kill his devotee with his own hands, he enacts that he is melted by Bheeshma's nature, and he goes back to Arjuna. (It is versioned that Arjuna himself begged Krishna for Bheeshma's life, but anyways, Krishna wasn't the one to kill Bheeshma).
As the story goes on, Arjuna slays through Bheeshma, the following day.
This finally justifies that Krishna values his (true) devotees more than himself.
I am aware to AwalGarg's mentioned story but i always knows the slight different version of this story, here it goes
There is also one rhyme, I used to say in childhood, which describe the event after Bhishma took vow to kill Arjuna. In that rhyme, Krishna told Draupadi to go to Bhishma with covered face and touch his feet and tricked him to give "सौभाग्यवती भव" aashirvad. Now Bhisma got stuck in his aahirvad and vow. To help him Krishna promised him that he will do something to help Bhisma. That's why he used chariot wheel to attack Bhisma so that he doesn't have to break his vow and also complete his aashirvaad. This rhyme is called "Chaliya".