Changes between Version 27 and Version 28 of DRM4G/Development


Ignore:
Timestamp:
Mar 20, 2017 7:59:04 PM (5 years ago)
Author:
minondoa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DRM4G/Development

    v27 v28  
    5151* The naming convention will just be to create branches in lower case letters separated by underscores ("'''_'''") that describe what you're trying to accomplish with the branch.
    5252
    53 With this, you will now have DRM4G's source code at your disposal.
     53__With this, you will now have DRM4G's source code at your disposal__.
    5454
    5555{{{#!comment
     
    5757}}}
    5858
    59 From here you could [wiki:DRM4G/Development#Addingnewfeatures create branches for every new feature] you'd like to include to the DRM4G, for a more in depth tutorial on how to do that, click [[https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging|here]].
     59* If needed, from here you could [wiki:DRM4G/Development#Addingnewfeatures create branches for every new feature] you'd like to include to the DRM4G
     60 * For a more in depth tutorial on how ''Git's'' branching works click [[https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging|here]].
    6061
    6162
     
    155156In the case that there are conflicts, resolve them and commit the changes, after do the ''push'' to update your remote repository.
    156157
    157 After, you just have to go to your repositories web page and click on the "'''''New pull request'''''" button.
     158After, you just have to go to your repository's web page and click on the "'''''New pull request'''''" button.
    158159
    159160
     
    198199
    199200
    200 We use something similar to a [http://nvie.com/posts/a-successful-git-branching-model/ gitflow] workflow. Internally we synchronize our work with **!GitBucket**, which is what will be considered as the  '''''central repository''''' of the '''Santander Meteorology Group'''.
     201Internally we synchronize private work with **!GitBucket**, which is what will be considered as the  ''private repository'' of the '''Santander Meteorology Group'''.
    201202* You can find the project [https://meteo.unican.es/gitbucket/DRM4G/DRM4G here], but to be able to access it you must first get a [https://meteo.unican.es/gitbucket/register GitBucket account] and get access to the private repository.
    202203* Have in mind that we try to adopt the !DevOps development methodology.
    203204
     205
     206We use something similar to a [http://nvie.com/posts/a-successful-git-branching-model/ gitflow] workflow. Our '''main repository''' is hosted in '''!GitHub''', found [https://github.com/SantanderMetGroup/DRM4G here].
     207
    204208[[br]]
    205209== Necessary steps ==
     
    212216{{{#!sh
    213217git init  #to initialize an empty Git repository
    214 git remote add origin https://meteo.unican.es/gitbucket/git/DRM4G/DRM4G.git #to make your local repository point to the remote repository in GitBucket
     218git remote add origin https://github.com/SantanderMetGroup/DRM4G.git #to make your local repository point to the remote repository in GitHub
    215219git fetch
    216220git checkout master #to create a local repository of the master branch
     
    249253* A section has already been written specifying [#TestingtheDRM4G how to test the DRM4G].
    250254
    251 As mentioned above, to us, our ''central'' repository will be a private one hosted by '''''!GitBucket''''', but in addition we have a second public one hosted in '''''!GitHub''''' to make the DRM4G accessible to anyone that might want to contribute to the project.
    252 
    253 To add the '''!GitHub''' repository as a new remote:
    254 
    255 {{{#!sh
    256 git remote add github https://github.com/SantanderMetGroup/DRM4G.git
    257 }}}
    258 
    259 Both this two repositories have at least two branches, the '''master''' and the '''develop''' branches, that must be synchronized at all times.
     255As mentioned above, our ''central repository'' will be a public one hosted by '''''!GitHub''''' to make the DRM4G accessible to anyone that might want to contribute to the project, but in addition we have a second private one hosted in '''''!GitBucket'''''.
     256
     257To add the '''!GitBucket''' repository as a new remote:
     258
     259{{{#!sh
     260git remote add gitbucket https://meteo.unican.es/gitbucket/git/DRM4G/DRM4G.git
     261}}}
     262 * If using this repository, you can follow the instructions just by swapping "''__origin__''" with "''__gitbucket__''" (or any other name you'd like to call this remote).
     263
     264[[br]]
     265
     266Both this repositories have at least two branches, the '''master''' and the '''develop''' branches.
    260267* Commits in the '''master''' branch represent all the stable versions of the DRM4G. This means that merges to this branch are only done when ready to publish a release.
    261268
     
    263270
    264271----
    265 If during development, you find yourself working in a team and  wish to share your code, push your work to our ''central'' repository in ''!GitBucket'', not ''!GitHub''.
     272If during development, you find yourself working in a team and  wish to share your code, push your work to our ''central'' repository in ''!GitHub''.
    266273{{{#!sh
    267274git push -u origin <branch_name>
     
    329336git branch -d new_feature
    330337git push origin develop
    331 git push github develop
    332338}}}
    333339
     
    368374* During this process you might want to merge the new version number or some of the bug fixes on to the '''develop''' branch so that future features may incorporate them.
    369375
    370 When ready, all that needs to be done is [=#mergeIntoMaster merge it into the '''master'''], create a tag, update the remote repositories and [wiki:DRM4G/Development#Publishingarelease publish the new release].
     376When ready, all that needs to be done is [=#mergeIntoMaster merge it into the '''master'''], create a tag, update the remote repository and [wiki:DRM4G/Development#Publishingarelease publish the new release].
    371377
    372378{{{#!sh
     
    376382git tag X.X.X
    377383git push origin master --tags
    378 git push github master --tags
    379384}}}
    380385* When performing the commit, the commit message will include all the previous commits made, but at the beginning a detailed message describing what is being added should be included.
     
    387392git merge --no-ff drm4g-X.X.X
    388393git push origin develop
    389 git push github develop
    390394}}}
    391395
     
    457461* If you agree with the changes made, and there are no conflicts, you can just click on the "'''''Merge pull request'''''" button.
    458462 * You'll automatically see a commit message that will look something like this: "__Merge pull request #X from <contributor>/<branch_name>__"
    459  * Bellow that, you can write an "optional extended description".
     463 * Below that, you can write an "optional extended description".
    460464  * When running `git log` from the command line, you'll just see both lines shown as the commit message.
    461465 * When done just click on the "'''''Confirm merge'''''" button to finish.