Giter VIP home page Giter VIP logo

tw-yshuang / git_ssh-account_switch Goto Github PK

View Code? Open in Web Editor NEW
200.0 3.0 40.0 17 KB

A CLI tool can switch ssh account to your current shell. You will easily switch to your git account & ssh key when using the server, and using your account to manipulate the project on the server.

License: MIT License

Shell 100.00%
ssh ssh-key ssh-keygen switch-access easy-to-use easy-setup easy-setup-tool git-config git-switch ssh-switch

git_ssh-account_switch's Introduction

Git_SSH-Account_Switch

A CLI tool can switch ssh account to your current shell. You will easily switch to your git account & ssh key when using the server, and using your account to manipulate the project on the server.

NOTE: This tool is for the user who using Zsh on the UNIX/Linux platfrom.

Installation

$ zsh ./setup.sh

it will add some code in your profile & $logout_profile, and setup git-acc & .gitacc on the $HOME.
file:

git-acc.sh -> $HOME/.git-acc, git-acc function.
.gitacc -> $HOME/.gitacc, save info. that regist on git-acc.

Control

        +---------------+
        |    git-acc    |
        +---------------+

SYNOPSIS

  git-acc [account]|[option]

OPTIONS

  [account]               use which accounts on this shell, type the account name that you register.
  -h, --help              print help information.
  -add, --add_account     build git_account info. & ssh-key.
      -t, --type          ssh-key types, follow `ssh-keygen` rule,
                          types: dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa(default)
  -rm, --remove_account   remove git_account info. & ssh-key from this device
  -out, --logout          logout your current ssh-acc.


EXAMPLES

  $ git-acc tw-yshuang

SWITCH ACCOUNT

When you want to use the account that you have already added it, you can type:

$ git-acc <tab>

Then it will come out the current account that registers in the git-acc to let you choose, e.g.

$ git-acc <tab>
tw-yshuang cool-name ...

ADD

$ git-acc -add
    or
$ git-acc --add_account

It will ask you to type:

Enter your git user name: <acc_name>
Enter your git user mail: <acc_mail>

After that, git-acc will generate id_rsa_<acc_name>, id_rsa_<acc_name>.pub in the $HOME/.ssh.
Next, you can type $ git-acc <acc_name>, to login your account.
NOTE: You also can overwrite your account.

CHOOSE YOUR SSH-KEY TYPE

If you do not want to use rsa type to create your ssh-key, you can use this:

$ git-acc -add -t <key-type>
    or
$ git-acc -add --type <key-type>

This args is following ssh-keygen -t rule, you can type corresponding key type you wnat!
Types: dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa(default)

REMOVE

$ git-acc -rm
    or
$ git-acc --remove_account

It will ask you to type:

Enter the git user name you want to remove: <acc_name>

LOGOUT

$ git-acc -out
    or
$ git-acc --logout

Logout your ssh-acc perfectly at CLI mode.

UNINSTALL

$ ./uninstall.sh

After executing this, it will complete removing git-acc.

git_ssh-account_switch's People

Contributors

tw-yshuang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

git_ssh-account_switch's Issues

Syntax error

Got this error

โฏ ./setup.sh
zsh: permission denied: ./setup.sh

~/repos/Git_SSH-Account_Switch-main : sudo chmod +x setup.sh
Password:

~/repos/Git_SSH-Account_Switch-main : ./setup.sh
/Users/xyz/.git-acc: line 4: syntax error near unexpected token `('
/Users/xyz/.git-acc: line 4: `  local function Echo_Color(){'
Done!! Now can use! Enjoy~~~

.git-acc:259: command not found: complete

I just installed this script on my MacBook Pro running on Ventura 13.5.2.
every time i load my terminal i get
.git-acc:259: command not found: complete

what could be the cause?

Feature request

Can we add/update the default git account?
I'm actually frustrated by doing git-acc {my_work_git} each time ๐Ÿ˜….

It will be really helpful if we can change the default git account by using git-acc.
I know we can update it manually, but just a thought/ feature request so I can change the default frequently each time I switch to another work.

How to uninstall/remove properly or fix this issue?

When I start a terminal I get a ".git-acc:259: command not found: complete".
It also gave me issues with my conda installation.

I'm assuming I can re-install compgen to fix this, but I'd like to understand why it's happening.

/Users/myusername/.git-acc:259: command not found: complete
(base) myusername@My-MacBook-Pro ~ % conda activate bivscraper
local:15: command not found: compgen
local:17: = not found

MacOs version 12.5.1 (21G83)
M1 Chip

Weird error

I am using two github accounts on my laptop, say X & Y. I've been using X for sometime and everything was working perfectly well, but when I switched to Y and tried to push some commits, I got the following error:

remote: Permission to blurry-mood/NonMaxSuppression-with-Reinforcement-Learning.git denied to ayoub-assis.
fatal: unable to access 'https://github.com/blurry-mood/NonMaxSuppression-with-Reinforcement-Learning.git/': The requested URL returned error: 403

When I execute git config --list, it shows that I am effectively using the account X.
But my credentials ( https://{username}:{token}@github.com ), located inside หœ/.git-credentials contain the Y's information.
I'm wondering if this tool takes care of this too.

Conflict with Conda - local:17: = not found

Getting the error local:17: = not found when conda is installed.
Only when i comment out source $HOME/.git-acc from my profile does it stop.

Setup:
Terminal : zsh
Device : Mac M1 Air
OS: Ventura(13.4.1)

Feature Request GPG

Hi! is there any way we could integrate the switching of GPG keys for each git account to have the ability to have signed commits?

zsh, ahaha

zsh? Really?! Are you suggesting that I install zsh just for your script?! it's funny! Mister Naivety!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.