1. Create account on github 2. Install git (if not already installed) 3. git clone https://github.com/neurord/D1pathways 4. Normal git stuff 5. Give me your github user name (to allow you to push) NORMAL GIT STUFF Now, you can edit stuff. Then MAIN GIT COMMANDS git status - tells you whether there are changes either staged for commit, or modified but not staged git diff - use to verify or review your changes git add - if a new file is created (instead of just editing existing files) can also be used to move an edited file to the staging area git commit -a - use to stage and then commit changes (ready to upload) you will need to add a one line description of your change, and optionally a longer description git push - upload your changes and merge them with the existing version git pull - to see changes to repository made by others ADDITIONAL GIT COMMANDS git commit specific_file_names - to avoid committing all files git rm filename - to stage removing file from repository, needs to be followed by git commit git log - to see the history of changes made to my local copy git checkout filename - to pull just a single file from the repository git reset --hard - roll back to previous version of everything not committed. ggit reset filename - just unstage one file gitk& - a nice visual tool, sort of like eclipse, to show you the various changes ############### Branching git branch name -> to create a branch you have to do something else for it to push to the repository git branch -r -> to show remote branches (only on your computer git branch -a -> to show both remote and local git show branchname:filename -> to show the filename git show branchname:filename > filenm will create a local copy, then you can copy stuff to a different branch git checkout branchname --filename will overout/replace filename - easier, but less safe if you only want some things updatedg git merge branchname - will replace all files from branch into your master branch - more automatic, but more dangerous. best to commit or stash your changes first then, to swich between branches (say you want to work on different branches0 git checkout otherbranch now, you can make changes, commit, push them, then git checkout master this switches you back BETTER WAY TO UPDATE MULTIPLE BRANCHES after editing a branch, e.g. master, do the usual: git commit git push THEN git checkout otherbranch (e.g. plasticity-rule) THEN git cherry-pick master -x this will copy the files from the last master commit only and merge into plasticity-rule (other branch) i.e. cherry-pick branch means take last commit from branch (that you are not working on) and merge into the branch you are working on ############### If you've made local changes, and forgot to pull first, then git commit git pull git push or git stash git pull git stash apply or git pop git stash drop - clears the last stash wget url to download just a single file ############################## git commit file press enter write msg press esc : type wq press enter