git cherry-pick <original commit sha>
Сделает копию исходного коммита, по существу, повторно применяя коммит
Отмена возврата сделает то же самое, с более сложным сообщением коммита:
git revert <commit sha of the revert>
Любой из этих способов позволит вам git push
без перезаписи истории, поскольку он создает новый коммит после возврата.
При вводе коммита sha обычно вам нужны только первые 5 или 6 символов:
git cherry-pick 6bfabc
http://docs.python.org/library/json.html
>>> import json
>>> json.dumps(json.loads("""
... {"node0":{
... "node1":{
... "attr0":"foo",
... "attr1":"foo bar",
... "attr2":"value with long spaces"
... }
... }}
... """))
'{"node0": {"node1": {"attr2": "value with long spaces", "attr0": "foo", "attr1": "foo bar"}}}'
В Python 2.6:
import json
print json.loads( json_string )
В основном, когда вы используете модуль json для синтаксического анализа json, вы получаете dict Python. Если вы просто напечатаете dict и / или преобразуете его в строку, все будет в одной строке. Конечно, в некоторых случаях Python dict будет немного отличаться от строки в json-кодировке (например, с логическими и нулевыми значениями), поэтому, если это имеет значение, вы можете сказать
import json
print json.dumps( json.loads(json_string) )
Если у вас нет Python 2.6, вы можете используйте модуль simplejson . В этом случае вы просто скажете
import simplejson
print simplejson.loads( json_string )