git basic commands

Git HOWTOS


👉 Basic Concepts and CI/CD Pipeline with Docker

  • GitGuide: GitHub in IceCube here
  • IceCube GitHub Development here
  • IceCube Developer Policy here

  • Complete list of all git commands here
  • Become a git guru from atlassian.com here
  • A Visual Git Reference here
  • Git & GitHub Tutorials here
  • A framework for managing and maintaining multi-language pre-commit hooks here

👉 Moving a sub-directory to a new repo with histroy

  • check out the tutorial here
    mkdir code
    cd code/
    git clone https://github.com/jptwagira/p-reconstruction.git
    cd p-reconstruction/
    git remote rm origin
    git filter-branch --subdirectory-filter time-residuals -- --all
    mkdir ../p-time-residuals
    mv * ../p-time-residuals/
    mv .git/ ../p-time-residuals/
    cd ../p-time-residuals/
    git remote add origin https://github.com/jptwagira/p-time-residuals.git
    git pull origin main --allow-unrelated-histories
    git push origin main
    

👉 How to build icetray branch on cluster on cluster by git clone!

mkdir icetray
cd icetray
mkdir -p src debug
git clone <url> src
git clone -b "branch name" --single-branch <url> src
condor_submit -interactive -a request_cpus=N
eval $(/cvmfs/icecube.opensciencegrid.org/py2-v3.1.1/setup.sh)
cmake ../src -DCMAKE_BUILD_TYPE=Debug
make -jN

👉 How to Compile a Particular commit

git checkout "branch name"
git log --oneline
git checkout 7a8f31f
condor_submit -interactive -a request_cpus=4
eval $(/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/setup.sh)
cd ~/icetray/
git log --oneline
mkdir debug / cd debug
cmake ../src
make -j4