generate new host RSA key

最近oschina的git服务器进行了迁移,导致了原有的git项目push不上去,总是提示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for git.oschina.net has changed,
and the key for the corresponding IP address 112.124.6.106
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.

第一个问题非常简单,就是修改/etc/hosts,添加一个IP与域名的对应关系即可

第二个是要求你更新know_host中的RSA key,执行如下命令即可

1
ssh-keygen -R git.oschina.net
1
cat /.ssh/known_hosts

查看known_host中的数据可以看到key已经更新了

git笔记

一些全局配置

1
2
3
4
5
6
git config --global push.default matching

git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto

添加所有新文件

1
git add .

从版本中去除一个文件

1
git rm test.html.rb

假设有很多新文件和删除了好多文件

1
git add -A

获取所有远程版本

1
git fetch

创建并切换到新分支

1
git checkout -b newbranch

切换到分支

1
git checkout master

迁移原有git项目到新得项目地址

1
git remote set-url origin git@git.github.com:welsonla/studio.git

查看当前git分支

1
git branch -r

查看git log

1
git log

查看当前tag

1
git tag

创建一个新的tag

1
git tag v1.1

降当前tag推送到服务器

1
2
3
4
git push origin --tags

推送单个
git push origin v1.1

将现有svn项目转换成git项目,并保留所有commit log

1
git svn clone [SVN-Path]

回滚

1
2
3
#http://stackoverflow.com/questions/1338728/delete-commits-from-a-branch-in-git
git reset --hard commitid
git push --force

ignore

.gitignore 新文件使用正则匹配
1
2
*.file_extension
.idea/*
remove exist files(现有文件需要软删除)
1
2
3
git rm -r --cached . //soft delete
git add .
git commit -m 'remove ignore files'