ManageAllAdminScriptsWithGit: Difference between revisions

From T2B Wiki
Jump to navigation Jump to search
Line 10: Line 10:
# add your ssh key to your profile
# add your ssh key to your profile
# Do an '''git clone git@git.iihe.ac.be:iihe-scripts.git''' to download the content of iihe-scripts locally
# Do an '''git clone git@git.iihe.ac.be:iihe-scripts.git''' to download the content of iihe-scripts locally
# Change the branch name '''git branch -m CurrentBranch BranchImWorkingOn'''. The branch name should reflect what you plan on doing. Never use directly the ''master'' branch !! <br> You can check this worked with '''git branch -ra''' that lists local & remote branches.
# Make a new branch from master '''git checkout -b BranchImWorkingOn'''. The branch name should reflect what you plan on doing. Never use directly the ''master'' branch !! <br> You can check this worked with '''git branch -ra''' that lists local & remote branches.
# Make your new scripts or modifications
# Make your new scripts or modifications
# If you made new files/directories, prepare them for atomic commit: '''git add -N myfile'''
# If you made new files/directories, prepare them for atomic commit: '''git add -N myfile'''

Revision as of 15:42, 5 January 2016

  • The admin scripts are managed by Git
  • They should be mounted on all machines managed by quattor in /scripts


Git Workflow

Adding/Modifying the scripts from your computer

  1. Request an account from git admins
  2. add your ssh key to your profile
  3. Do an git clone git@git.iihe.ac.be:iihe-scripts.git to download the content of iihe-scripts locally
  4. Make a new branch from master git checkout -b BranchImWorkingOn. The branch name should reflect what you plan on doing. Never use directly the master branch !!
    You can check this worked with git branch -ra that lists local & remote branches.
  5. Make your new scripts or modifications
  6. If you made new files/directories, prepare them for atomic commit: git add -N myfile
  7. Select the chunks of code you want to commit: git add -p , (explanations of letters here). Be as small and precise as possible for each commits.
  8. If you want to revert the adding chunks to the index you just did : git reset -p
  9. Do the commit for the chunks you selected git commit -m"short message" [-m"long message"]. The long message is optional.
  10. To list the last commits git log -NumberOfCommits
  11. Last, you need to push the local changes to the remote server : git push origin BranchImWorkingOn
  12. Make a merge request on the git site:

Summary Of Git Commands


# First
git clone git.blahblah
git checkout -b newbranch   ==> making a new branch from master. Safe, will not delete files.

git branch -ra ==> lists repo & local branches
git push origin --delete mybranch  ==> will delete remote branch 

# Atomic commit (by hunks):
git add -N myfile #first prepare file before patchadding
git add -p
  y - indexer cette partie
  n - ne pas indexer cette partie
  a - indexer cette partie et toutes celles restantes dans ce fichier
  d - ne pas indexer cette partie ni aucune de celles restantes dans ce fichier
  g - sélectionner une partie à voir
  / - chercher une partie correspondant à la regexp donnée
  j - laisser cette partie non décidée, voir la prochaine partie non encore décidée
  J - laisser cette partie non décidée, voir la prochaine partie
  k - laisser cette partie non décidée, voir la partie non encore décidée précédente
  K - laisser cette partie non décidée, voir la partie précédente
  s - couper la partie courante en parties plus petites
  e - modifier manuellement la partie courante
  ? - afficher l'aide

  ==> this add hunks to index, needs git commit -m""
git reset -p   ==> revert the adding to index

git commit -m"" [-m"long message"]

git diff          ==> local / index
git diff HEAD     ==> local / repo
git diff --cached ==> index / repo

git log -3  ==> lists commit

# Pushing
git push origin newbranch   ==> pushes local branch to repo & creates new repo branch


Adding /scripts to a machine and getting access to it

  • You need to mount with nfs (or autofs) the /storage of tesla
  • Then create a symlink from /storage_mnt/storage/group/admin/iihe-scripts to /scripts
  • Or you can just include the template in config/nfs/storage in your machine, which does all this.
  • It is in read-only for non-root users of the admins group, so you cannot make any modifications there.
  • If you want access as non-root user, you need to add yourself in freeipa [accessible through tunnel only] to the admins group.


Old Wiki page for using SVN