首页 > 代码库 > git 不常用命令小札

git 不常用命令小札

1、git改造下,可以指定特定的私有key 来获取仓库资源 git -i

#!/bin/bash
#T License (MIT)
# Copyright (c) 2013 Alvin Abad

if [ $# -eq 0 ]; then
    echo "Git wrapper script that can specify an ssh-key file
Usage:
    git.sh -i ssh-key-file git-command
    "
    exit 1
fi

# remove temporary file on exit
trap rm -f /tmp/.git_ssh.$$ 0

if [ "$1" = "-i" ]; then
    SSH_KEY=$2; shift; shift
    echo "ssh -i $SSH_KEY \$@" > /tmp/.git_ssh.$$
    chmod +x /tmp/.git_ssh.$$
    export GIT_SSH=/tmp/.git_ssh.$$
fi

# in case the git command is repeated
[ "$1" = "git" ] && shift

# Run the git command
git "$@"

将以上的代码存在一个shell文件中,比如git.sh , 确保生成的ssh密钥对中的公钥已经在github上了

然后如果想执行git clone 就可以通过git.sh -i id_rsa clone 来clone

 

2、如何从github/gitoschina上获取私有仓库的 当个文件

背景:如果我们只是想获得仓库里的某个文件,并不想整个仓库都拖下来。

可以用

git archive --remote=git@git.oschina.net:smx-stevel/xxxxxs.git HEAD:jenkins/ -- xxxx-capture.js |tar xf -

git 不常用命令小札