最近,谷歌Code项目叫停,如果你有开源项目放在它们的服务器上怎么办?
谷歌提供一个从Google Code到GitHub的代码转移的工具,传到GitHub一看,一切似乎安然无恙,可是再仔细一看,我的email地址一丝不挂地躺在每个文件旁,被GitHub当作用户名/作者显示出来。
这怎么能行!那些群发垃圾邮件的软件像苍蝇一样专找有缝的蛋,我可不想让我的email被垃圾邮件充斥。
于是急忙把github的东东运行到本机上,用以下脚本“篡改”谷歌转过去的文件,把用户名改成我在GitHub的用户名,而不是我在Google Code用户的电邮号码。
谷歌提供一个从Google Code到GitHub的代码转移的工具,传到GitHub一看,一切似乎安然无恙,可是再仔细一看,我的email地址一丝不挂地躺在每个文件旁,被GitHub当作用户名/作者显示出来。
这怎么能行!那些群发垃圾邮件的软件像苍蝇一样专找有缝的蛋,我可不想让我的email被垃圾邮件充斥。
于是急忙把github的东东运行到本机上,用以下脚本“篡改”谷歌转过去的文件,把用户名改成我在GitHub的用户名,而不是我在Google Code用户的电邮号码。
如果你的电脑需要使用代理服务器,先用以下命令设置代理服务器环境:
git config --global http.proxy http://MYPROXY.com:PORT
把代码从GitHub克隆到本机:
OLD_EMAIL
CORRECT_NAME
CORRECT_EMAIL
我花了两天才搞清楚为什么用原来的email地址作为OLD_EMAIL就没办法“篡改”GitHub用户名。
原来,需要特别注意的是,这里的旧email地址不是你原来的email地址,而是加了一些乱码的这样一堆东西!
我是怎么发现这个问题的呢。用GIT的以下命令,终于把Google转过去的真正email地址给露出来了:
-
git log
你会发现:
commit 0dbe5f8531a89f62742d2b75716b73b5e791bd46
Author: your-old-email@example.com your-old-email@example.com@2336f6a0-57fc-8fba-0cea-765dc726c76a>
Date: Sun Nov 11 17:55:17 2012 +0000
Your Comment
你把这个怪物作为OLD_EMAIL放到上面的脚本,“篡改”才能成功:
your-old-email@example.com@2336f6a0-57fc-8fba-0cea-765dc726c76a
把“篡改”后的代码传到GITHUB,大功告成!
-
git push --force --tags origin 'refs/heads/*'
最后,是清洁工作: -
cd .. rm -rf repo.git
__________________________________________________________________________________
注释:
[1] https://help.github.com/articles/changing-author-info/