git checkout COMMIT_HASH file/to/revert
Will bring the
file/to/revert file to the state in
git reset --hard HEAD~1
will completely revert the last commit (i.e., everything from this commit will disappear).
git checkout -b branch--new commit-hash
will checkout the
commit-hash commit in a new branch called
git push -u REMOTE BRANCH_NAME
This will also create an association between the local and the remote branch, so you can afterwards just issue
git rebase -i
and then pick the one you want to keep and squash the other
I was trying to use the
sed command to perform some changes to a text and stepped into an interesting “problem”; pattern matching the minus-hyphen (-) symbol.
Assume we have the following text:
something SoMeThiNg some-thing soMe_thing
and we want to match all the different versions of the word with one expression (one by one).
My initial idea was to use this regular expression:
Naturally, I tried to escape the – sign. As you can see from the output, this doesn’t work:
$ sed 's/[a-zA-Z\-\_]*/matched/' test matched matched matched-thing matched
The minus sign is not matched, because of its special meaning (setting ranges). In order to make the expression work, you need to move the “-” either in the beginning or in the end of the expression:
$ sed 's/[a-zA-Z\_-]*/matched/' test matched matched matched matched $ sed 's/[-a-zA-Z\_]*/matched/' test matched matched matched matched
and leave it un-escaped!