Changes between Version 39 and Version 40 of HowToGit
- Timestamp:
- 05/24/19 02:31:35 (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
HowToGit
v39 v40 16 16 * fork the GRASS GIS repository, and create feature branch(es) with the changes, and suggest your changes as pull requests. 17 17 18 First [https://github.com/OSGeo/grass fork the GRASS GIS repo] in the !GitHub UI to `your_GH_account`. 18 === Workflow for core grass repository === 19 19 20 === Workflow for core developers === 20 ''- to be discussed -'' 21 21 22 First [https://github.com/OSGeo/grass fork the GRASS GIS repo] in the !GitHub UI to `your_GH_account`. This is the same as what !GitHub documentation suggests. See: [https://help.github.com/en/articles/fork-a-repo Fork a repo] and [https://help.github.com/en/articles/syncing-a-fork Syncing a fork] in !GitHub help. 22 23 23 ''- to be discussed which way -'' 24 25 Add: https://help.github.com/en/articles/connecting-to-github-with-ssh 24 Note: add SSH key, see [https://help.github.com/en/articles/connecting-to-github-with-ssh GitHub documentation]. 26 25 27 26 One time only: … … 41 40 upstream git@github.com:OSGeo/grass.git (push) 42 41 }}} 43 44 42 45 43 Working with git: … … 75 73 NOTE: for different pull requests, simply create different feature branches. 76 74 77 === Workflow for external contributors === 78 79 - to be discussed: is this needed at all? Maybe above part is enough - 80 81 First fork the GRASS GIS repo in the !GitHub web interface. 82 83 You clone the GRASS GIS repo and add the fork as an additional remote (or the other way around), this makes merging changes from the GRASS GIS repo easier. 84 85 {{{ 86 # create fork via GitHub Web interface 87 88 # checkout your the osgeo repo 89 git clone https://github.com/OSGeo/grass.git 90 91 # go to repo dir 92 cd grass 93 94 # add your fork as another remote 95 git remote add fork https://github.com/<your_GH_account>/grass.git 96 97 # change the push URL for your fork to SSH if you have it set up 98 git remote set-url --push fork ssh://git@github.com/<your_GH_account>/grass.git 99 100 # all steps see above, core dev section (branch, edit, commit) 101 ... 102 103 # push feature branch to your own fork repo of GRASS GIS 104 105 git push fork <feature-branch> 106 107 # create pull request in GitHub Web interface (the link is shown conveniently in the terminal) 108 }}} 109 110 This way origin is the authoritative source for the code, and additional remotes are forks. 111 112 What is missing above is how you actually update the repo with changes in OSGeo repo master branch. 113 114 Alternative is to clone your fork and add osgeo as another remote ("option 2" - "clone fork" as opposed to "clone osgeo"). This would be the same as what !GitHub documentation suggests. See: [https://help.github.com/en/articles/fork-a-repo Fork a repo] and [https://help.github.com/en/articles/syncing-a-fork Syncing a fork] in !GitHub help. 115 == Keep your local source code up to date == 75 ==== Keep your local source code up to date ==== 116 76 117 77 [from https://github.com/OSGeo/gdal/blob/master/CONTRIBUTING.md#working-with-a-feature-branch] … … 133 93 134 94 Continue do your changes and commit/push them (ideally to a feature branch, see above). 135 == Review of pull requests == 95 96 ==== Review of pull requests ==== 136 97 137 98 In the review phase, PRs can be commented and modified. … … 139 100 TODO add more 140 101 141 == Merging of pull requests==102 ==== Merging of pull requests ==== 142 103 143 104 The CI should run successfully for every commit (chunk of commits in PR to be exact) before it goes into the respective branch. … … 154 115 155 116 ... based on PR nature. 117 118 === Workflow for grass-addons repository === 119 120 - to be discussed - 121 156 122 == Switching between branches == 157 123 … … 165 131 166 132 See also https://github.com/OSGeo/gdal/blob/master/CONTRIBUTING.md#backporting-bugfixes-from-master-to-a-stable-branch 133 167 134 == Further reading == 168 135