1) On the Linux machine (tunneling destination) that you will clone the github from, generate a SSH key (if not already done)
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
2) Add a new SSH key to your GitHub account
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
3) Setup for large filesystems on github
$ git lfs install
4) Setup for HTTP tunneling (required for gitlab.cern.ch)
$ git config --global http.proxy http://localhost:8888
All off these steps only need to be done once per unix account
Prerequest Access to rhel6-64.
GitHub Access
Setup ssh-key as described above. Append the following lines to ~/.ssh/config:
Host github.com
User git
ProxyCommand ssh USER@rhel6-64.slac.stanford.edu -W %h:%p
# Log into server $ ssh rdusr219 # Source environment script $ source /u1/DUNE/setup_env.csh # Start the SOCKS2HTTP $ HttpTunnelStart Then hit enter key # perform all your github pull/push/clone operations $ git ....... # Stop the SOCKS2HTTP before logging out $ HttpTunnelStop
NEWS (2017-08-29) HttpTunnel is not required anymore. Proxy server is set after sourcing setup.sh.
Prerequest Access to lxplus.
GitHub Access
Setup ssh-key as described above. Append the following lines to ~/.ssh/config:
Host github.com
User git
ProxyCommand ssh USER@lxplus.cern.ch -W %h:%p
GitHub LFS Access
# Log into server $ ssh np04-srv-011 # Source environment script $ source /nfs/sw/rce/setup.sh # For development version $ source /nfs/sw/rce/setup.sh dev # perform all your github pull/push/clone operations $ git .......
Notes
Patrick Tsang