背景:

由于在公司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就行了

为github公开项目单独设置用户名的更多相关文章

  1. 每个项目单独配置 git 用户

    git多账号登陆问题 设置git全局设置: git config --global user.name "your_name"  git config --global user. ...

  2. 构建微服务开发环境7————使用Github管理项目代码的版本

    [内容指引] 1.注册GitHub帐号: 2.下载Github Desktop客户端: 3.macOS安装Github Desktop客户端: 4.windows安装Github Desktop客户端 ...

  3. 使用git和github管理项目代码

    以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下 ...

  4. 学会github管理项目与VS单元测试——第二次作业

    GIT地址 https://github.com/Bing-Fairy/AchaoCalculator GIT用户名 Bing—Fairy 学号后五位 62502 博客地址 https://home. ...

  5. 花20分钟写的-大白话讲解如何给github上项目贡献代码

    原文地址:http://site.douban.com/196781/widget/notes/12161495/note/269163206/ 本文献给对git很迷茫的新手,注意是新手,但至少会点基 ...

  6. (转)大白话讲解如何给github上项目贡献代码

    转自:https://site.douban.com/196781/widget/notes/12161495/note/269163206/ 2013-03-30 22:53:55   本文献给对g ...

  7. 在 GitHub 公开仓库中隐藏自己的私人邮箱地址

    GitHub 重点在开方源代码,其本身还是非常注重隐私的.这一点与面向企业的 GitLab 很不一样. 不过,你依然可能在 GitHub 上泄露隐私信息,例如企业内部所用的电子邮箱. GitHub 对 ...

  8. 从Github开源项目《云阅》所学到的知识

    感谢开源,感谢大神,才让我们这些菜鸟成长! 附上云阅开源项目地址:点我吧. 1.轮播图的实现. 现在的APP基本都会实现这个功能吧,然后一直都找不到好的第三方库,能够满足各种需求.然而碰到了这个开源库 ...

  9. 大白话讲解如何给github上项目贡献代码

    本文献给对git很迷茫的新手,注意是新手,但至少会点基本操作,有点基本概念的新手,我不会从怎么用github和git是什么开始讲的.如果作为新手你看书又看不进去,原理又太复杂,又没有直接了当告诉我们怎 ...

随机推荐

  1. python基础一 ------Python 的编码

    首先了解一下历史,但是本篇文章冗杂,如老太太裹脚布----------又臭又长 编码历史: 1. 计算机只能处理数字,文本文件只有转换为数字    才能处理.8bit==1字节 所以一个字节能表示的最 ...

  2. 高性价比 VPS virtwire Host

    自从bandwagonhost 低端VPS售罄后,很难找到一个 比较性价比高的host做梯子了.今天找到VirtWire Host,带一个独立IPv4,5$/y 的价格还是可以接收的.而且相对于ban ...

  3. Wooden Sticks [POJ1065] [DP]

    Description 有N根木棍等待处理.机器在处理第一根木棍时需要准备1分钟,此后遇到长宽都不大于前一根木棍的木棍就不需要时间准备,反之则需要1分钟重新准备.比如木棍按照(3,3).(1,3).( ...

  4. DP专题:划分数问题

    一.这个专题有什么用 练练DP 练练组合数学 ...... 二.正题 此类问题有如下几种形态: 1. 将n划分成若干正整数之和的划分数.2. 将n划分成k个正整数之和的划分数.3. 将n划分成最大数不 ...

  5. C# Web API Modify Post Data Size Limit

    在Web.config中增加下面两个配置后,重启IIS即可. 1.修改http请求数据大小限制 <system.web>  <httpRuntime maxRequestLength ...

  6. 生成缓存文件cache file

    生成缓存文件cache file class Test{ public function index(){ $arrConfig = Array( 'name' => 'daicr', 'age ...

  7. c c++ #define 定义假函数

    #define   Add(a,b)   ((a)+(b)) #define Max(a,b) ((a)>(b)?(a):(b)) 这就定义了一个假的函数 说白了就是字符串替换 这样在写代码时能 ...

  8. AnjularJS表单回车提交事件

    问题: 输入手机号之后,再验证码输入框点击回车时,触发发送验证码事件. <div class="login-main"> <form name="log ...

  9. JS_高程5.引用类型(2)Array类型

    Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...

  10. Hibernate(6)关联关系_单向n对1

    1.单向 n-1 关联只需从 n 的一端可以访问 1 的一端 2.实体类 n端:Order.java public class Order { private Integer orderId; pri ...