背景:
由于在公司git的配置是公司内自己的用户id及邮箱,如果用同样的配置在github上提交公开项目,可能造成用户名及邮箱泄露,因此对于github上的项目,最好单独设置用户名,而每次在向github提交时都设置一下用户名不方便且容易忘记,因此做了如下设置,方便自动为github项目设置用户名,这里记录下。
方案:
1. 修改~/.bashrc增加git clone的alias:
alias gitclone='/usr/local/bin/git-clone'
如果要想立即生效需要source ~/.bashrc一下,或者重新打开终端
2. 将git-clone脚本放在/usr/local/bin/下,别忘了加执行权限,脚本内容如下(可能不够完善,但是自己够用了):
#!/bin/bash
if [ $# -lt ] ; then
echo "please support git repo addr"
exit
fi REPO=$
DEST=$(echo $1|awk -F"/" '{print $NF}'|sed 's/.git$//')
if [ $# -eq ] ; then
DEST=$
# 不是绝对路径的话,目标为当前路径加参数
if [ "X${DEST:0:1}" != "X/" ] ; then
DEST=`pwd`/$
fi
fi git clone $REPO $DEST
if [ "x$?" == "x0" ] ; then
if [ "x${REPO:0:15}" == "xgit@github.com:" ] ; then
echo -e "[user]\n\tname = mygithubname" >> $DEST/.git/config
fi
fi
主要就是判断是否为github的项目,如果是,则在项目的.git/config中增加user配置
3. 在clone代码时,使用gitclone而不要用git clone就行了