[TITLE] [DATE] -------------------------------------------------------------------------------- [SETTITLE]Control Systems Club Project Workflow [SETDATE]1-24-2019 First, create an ssh key. Intructions below: SSH Generation Tutorial Email me "~/.ssh/id_rsa.pub", I will give you permission to the SSH server and to the production environment. In the meantime, clone the code repository from our server "ryugyong" at public IP 157.230.168.203. To do this, run the command git clone git@157.230.168.203:csc-code This will clone a repository named "csc-code" 1. Go into the repository, and checkout to the development branch. Use: git checkout $branch where $branch could be: arduino-devel frontend-devel backend-devel controller-devel 1.5. Set the upstream of your branch to sync to that branch on the git server. git branch --set-upstream-to origin/$branch 2. Make the changes you want to make, and commit them. type "git branch" to make sure you're on the development branch. git commit $file where file is the file you have changed, if it is new run git add $file 3. Afterwards, ask for a code review from me or somebody else. Push your changes to the remote repository running on ryugyong git push if the code passes review, I will merge it with master. 4. Put the code into production To put these changes into production on the server, ssh into ryugyong with ssh root@157.230.168.203 cd ~/csc-code git pull cd backend; make ./backend To put these changes into production on the control computer, physically go to the control computer and run: cd ~/csc-code git pull cd controller; make ./controller To put these changes into production on the arduino, Take the arduino to your computer. git checkout master git pull Run Arduino IDE and flash the code onto the Arduino git checkout $branch 5. GOTO 1