1.回滚到某个commit
git reset --hard <commidId> && git clean -f
git push -u origin master -f
这组命令的副作用是把<commidId>之后的commit都会删除
2.建立新branch
git checkout -b mynewfeature
git push -u origin mynewfeature
3.仓库迁移
git clone --bare git://github.com/username/project.git
cd project.git
git push --mirror git@gitcafe.com/username/newproject.git
cd ..
rm -rf project.git
git clone git@gitcafe.com/username/newproject.git
4.仓库服务搭建
5.checkout remote pull request
git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME
6. merge another reposity to current one
git clone <git repository B url>
cd<git repository B directory>
git remote add repo-A-branch <git repository A directory>
git pull repo-A-branch master
git remote rmrepo-A-branch
reference: http://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history/
7. 回滚
# Resets index to former commit; replace '56e05fced' with your commit code
git reset 56e05fced
# Moves pointer back to previous HEAD
git reset --soft HEAD@{1}
git commit -m "Revert to 56e05fced"
# Updates working copy to reflect the new commit
git reset --hard