====== CMSSW and github ======
* [[http://cms-sw.github.io/cmssw/faq.html|CMSSW github FAQ]]
* [[https://help.github.com/articles/how-do-i-add-a-collaborator|How to add collaborators]]
* [[http://git-scm.com/book|Git Book]]
* [[https://education.github.com/git-cheat-sheet-education.pdf|Git Cheat Sheet]]
* [[https://indico.cern.ch/conferenceDisplay.py?confId=286055|Git tutorial]]
* [[computing:git:basics|Basic git commands to work with CMSSW]]
====== SVN switcher guide ======
http://git.or.cz/course/svn.html
====== cms-uzh repository at CERN ======
===== Cloning the repository =====
There are two ways to clone the repository:
git clone https://:@git.cern.ch/kerberos/cms-uzh #With valid kerberos credentials
git clone https://git.cern.ch/reps/cms-uzh #LDAP authentication
===== Web access to the repository =====
https://git.cern.ch/web/?p=cms-uzh.git;a=summary
===== CERN Knowledge Base on git service =====
https://cern.service-now.com/service-portal/faq.do?se=git-service
====== Private copy of a repository and pull requests ======
Instead of directly pulling and pushing changes to a project repository, it is much safer to work on a private copy (called fork) on the github server and transfer changes only via pull request from the privat repository to the project repository on the server.
1. Go to
https://github.com/cms-edbr/ExoDiBosonResonances
and click on "Fork" and choose you user area on github.
2. Clone code from your private copy of the repository
export GITUSER=`git config user.github`
echo "Your github username has been set to \"$GITUSER\""
git clone git@github.com:$GITUSER/ExoDiBosonResonances
cd ExoDiBosonResonances
This command will also give this repository the name "origin".
3. Make an alias to the main repository
git remote add cms-edbr git@github.com:cms-edbr/ExoDiBosonResonances
You can check the result of this command by typing
git remote -v
4. Update to the edbr_tautau branch (this will move the HEAD):
git co edbr_tautau
Fetch latest changes in branch edbr_tautau from the main repository
git fetch cms-edbr edbr_tautau
and merge
git merge edbr_tautau cms-edbr/edbr_tautau
git merge FETCH_HEAD origin/master #generally
To preview what this would do you can try
git log ..cms-edbr/edbr_tautau
git diff ...cms-edbr/edbr_tautau #used to be FETCH_HEAD
5. Make local changes, add these files for a commit and commit
git add some_modified_file
git status
git commit -m"message"
6. Push changes in edbr_tautau branch to you private repository on github server
git push origin edbr_tautau
git push origin master #generally
7. Got to you private respository
https://github.com/GITUSER/ExoDiBosonResonances
and make a pull request to move your changes to the project repository by clicking on "Pull Request", "New Pull Request", "Edit", and select the edbr_tautau branch in both repositories. You may have to click on "Edit" twice to do so. You may either ask someone else to "Merge" this pull request or do it by yourself if you have the rights and are confident.