每当我换到一个新的开发环境,蛮多东西要折腾的。比如 git、golang、环境变量等等。所以特地整理了一下,下次换新电脑也方便。

本文分享我在工作中常用的环境变量 + Shell alias:比如 git add . 这样的命令,我只需要敲 ga 就好了!

git:

不使用 rebase,要加上这个设置:

git config --global pull.rebase false

全局配置工作用户名和邮箱,不然会影响到你提交代码:

git config --global user.name  "???"
git config --global user.email "???@???.com"

合并上述配置,再加上拉代码的时候强制使用 https + 私钥 下载的配置:

[user]
name = username
email = xxx@xxx.com [pull]
rebase = false [url "https://TOKEN:xxxxxxxxx@code.xxxx.com/"]
insteadOf = http://code.xxxx.com/ [url "https://TOKEN:xxxxxxxxx@code.xxxx.com/"]
insteadOf = https://code.xxxx.com/ [url "https://TOKEN:xxxxxxxxx@code.xxxx.com/"]
insteadOf = git@code.xxxx.com: [url "https://username:xxxxxxxx@gitee.com/"]
insteadOf = http://gitee.com/ [url "https://username:xxxxxxxx@gitee.com/"]
insteadOf = https://gitee.com/ [url "https://username:xxxxxxxx@gitee.com/"]
insteadOf = git@gitee.com: [url "https://username:xxxxxxxx@github.com/"]
insteadOf = http://github.com/ [url "https://username:xxxxxxxx@github.com/"]
insteadOf = https://github.com/ [url "https://username:xxxxxxxx@github.com/"]
insteadOf = git@github.com:

ssh:

更改 ssh 端口号:

vim ~/.ssh/config
Host code.???.com
Port 22222

特殊权限的 ssh-key,可以用以下命令添加:

ssh-add ~/.ssh/id_rsa_???

env:

一些常用的环境变量、别名,熟记它可以极大提升效率!

比如说:

  • 命令 l:快速查看当前文件夹,列表展示;
  • 命令 q:退出终端;
  • 命令 c:清屏!比 clear 爽多了!
  • 命令 aa:快速 ssh 连接堡垒机 1 号;
  • 命令 aa:快速 ssh 连接堡垒机 2 号;
  • 命令 gd:等同于 git diff
  • 命令 ga:等同于 git add .
  • 命令 gs:等同于 git status
  • 命令 gh:等同于 git push
  • 命令 gl:等同于 git pull
  • 命令 ghm:等同于 git push origin master
  • 命令 ua:把当前文件夹下的所有 git 工程更新到最新的 master 分支;
  • ……

最后,分享下我的配置吧:

alias l="ls -alht"
alias q="exit 0"
alias c="clear" alias aa="sshpass -p '???' ssh -p22 [my-name]@[host1]"
alias ss="sshpass -p '???' ssh -p22 [my-name]@[host2]" alias git='LANG=en_US.UTF-8 git'
alias gd="git diff"
alias gs="git status"
alias ga="git add ."
alias gh="git push"
alias gl="git pull"
alias ghl="git push origin [my-name]"
alias glm="git pull origin master"
alias ua='for dir in `ls`; do if [ -d $dir ]; then echo -e "----\n${dir}\n----";cd $dir;pwd=`pwd`;echo -e "----------> ${pwd}\n";git checkout master;git pull origin master;cd ..; fi; done;'
alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl' export GOPATH=/Users/[my-name]/go
export GOPROXY='https://goproxy.cn,direct'
export GONOPROXY='code.???.com'
export GONOSUMDB='code.???.com'
export GOPRIVATE='code.???.com'
export GOSUMDB='sum.golang.google.cn'
export GO111MODULE=on export HOMEBREW_GITHUB_API_TOKEN=??? export PATH="/Users/[my-name]/env/bin:/Users/[my-name]/go/bin:/usr/local/sbin:/opt/homebrew/bin:$PATH"

文章来源于本人博客,发布于 2018-06-02,原文链接:https://imlht.com/archives/183/

分享我的 Shell 环境,git 操作效率提升 100% !的更多相关文章

  1. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  2. 分享7个shell脚本实例--shell脚本练习必备

    概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 1.监测Nginx访问日志502情况,并做相应动作 ...

  3. windows python3.2 shell环境(python叫做解释器)

    [进入python的shell 环境:](python里称作命令解释器,windows叫做cmd,unix叫做shell) cmd  输入set path=%path%;e:\python2.7然后输 ...

  4. 9. shell环境

    • printenv –打印部分或所有的环境变量 • set –设置 shell 选项 • export —导出环境变量,让随后执行的程序知道. • alias –创建命令别名 1.shell环境:s ...

  5. shell环境

    1 引言 一个进程运行在shell环境中,理解进程运行的环境是十分重要的.环境影响着进程的行为,利用环境提供的便利,可以极大地提高开发效率.本节深入讨论shell中与进程有关的环境问题,包括命令行参数 ...

  6. Cygwin 是一个用于 Windows 的类 UNIX shell 环境

    cygwin的安装使用   Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 ...

  7. shell 环境变量的相关配置文件和配置方法

    shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...

  8. Linux编程 12 (默认shell环境变量, PATH变量重要讲解)

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  9. mutt+msmtp实现在shell环境中发送电子邮件

    作者:邓聪聪 为了自动化接收服务端的文件备份信息,利用mutt+msmtp在shell环境中发送电子邮件,轻松高效的完成运维工作. 下载msmtp wget http://downloads.sour ...

  10. shell环境改变引起的命令提示符改变

    1. 故障现象与背景 1.1 背景 开发早上找我说root环境变得异常,跟平时不太一样.其他用户没有改变,就root用户发生变化 1.2故障现象 root用户命令提示符 :➜ ~ 命令行上命令提示符发 ...

随机推荐

  1. LeetCode SQL 基础题

    链接: 力扣 个人做法: # Write your MySQL query statement below SELECT A.name Employee FROM Employee A,Employe ...

  2. Map集合案例:统计输入多个key值出现的次数

    某商店想统计一下一天内所售出的商品以及商品的数量,请编写程序帮助实现,并展示.通过键盘录入商品名称模拟售出的商品, 录入一次表示商品售出一次,直到录入end结束.运行效果如下: 代码:

  3. [C++核心编程] 3、函数提高

    文章目录 3 函数提高 3.1 函数默认参数 3.2 函数占位参数 3.3 函数重载 3.3.1 函数重载概述 3.3.2 函数重载注意事项 3 函数提高 3.1 函数默认参数 在C++中,函数的形参 ...

  4. Centos7.x 安装jenkins

    一.安装 前提:需查看是否安装了JDK 1.第一种方法 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat ...

  5. Centos7.x 安装配置jdk与jmeter

    一.准备 1.jmeter(下载地址:https://jmeter.apache.org/download_jmeter.cgi) 2.jdk(下载地址:https://www.oracle.com/ ...

  6. LeetCode 654:最大二叉树

    先立个flag吧,坚持每日刷题的小目标,希望自己能坚持下来,如果有需要一起打卡的uu,可以一起监督哈,在菜鸡的路上慢慢变好 题目:最大二叉树 给定一个不重复的整数数组 nums . 最大二叉树 可以用 ...

  7. 2023-03-08:x265的视频编码器,不用ffmpeg,用libx265.dll也行。请用go语言调用libx265.dll,将yuv文件编码成h265文件。

    2023-03-08:x265的视频编码器,不用ffmpeg,用libx265.dll也行.请用go语言调用libx265.dll,将yuv文件编码成h265文件. 答案2023-03-08: 使用 ...

  8. 2022-01-25:序列化和反序列化 N 叉树。 序列化是指将一个数据结构转化为位序列的过程,因此可以将其存储在文件中或内存缓冲区中,以便稍后在相同或不同的计算机环境中恢复结构。 设计一个序列化和反

    2022-01-25:序列化和反序列化 N 叉树. 序列化是指将一个数据结构转化为位序列的过程,因此可以将其存储在文件中或内存缓冲区中,以便稍后在相同或不同的计算机环境中恢复结构. 设计一个序列化和反 ...

  9. AccessToken、for_user、get_token

    在Django REST framework的SimpleJWT库中,AccessToken是一个类,用于表示一个JSON Web Token (JWT)中的访问令牌部分.访问令牌是一种常见的身份验证 ...

  10. 这10个Lambda表达式必须掌握,简化你的代码,提高生产力

    Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名 ...