ManageAllAdminScriptsWithGit

From T2B Wiki
Revision as of 15:05, 11 December 2015 by ROMAIN ROUGNY rrougny@vub.ac.be (talk | contribs) (Created page with "* The admin scripts are managed by [http://git.iihe.ac.be Git] * They should be mounted on all machines managed by quattor in '''/scripts''' <br> === Git Workflow === ==== Ad...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • 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. 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 !!
    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
or git branch -m oldbranch newbranch

git branch -ra ==> lists repo & local branches

# 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