User Tools

Site Tools


dev:starting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
dev:starting [2019/06/22 16:16] oschuettdev:starting [2020/04/17 11:38] tmueller
Line 7: Line 7:
  
 ===== Prepare the patch ===== ===== Prepare the patch =====
 +
   - Fork the CP2K Repository on GitHub via "Fork" on https://github.com/cp2k/cp2k   - Fork the CP2K Repository on GitHub via "Fork" on https://github.com/cp2k/cp2k
-     Also as a member of the development team you will not be able to push directly to the `master` branch of the https://github.com/cp2k/cp2k repository. This is by intention and we would like to ask you to send changes as Pull Requests instead.+     Even as a member of the development team you will not be able to push directly to the `master` branch of the https://github.com/cp2k/cp2k repository. This is by intention and we would like to ask you to send changes as Pull Requests instead.
   - On your machine, clone the repository via **git clone %%--%%recursive https://github.com/YOURNAME/cp2k.git**   - On your machine, clone the repository via **git clone %%--%%recursive https://github.com/YOURNAME/cp2k.git**
-  - Move to the downloaded cp2k directory: **cd cp2k**+  - Change into the created cp2k directory: **cd cp2k**
   - Start working in a new branch: **git checkout -b my-new-feature**   - Start working in a new branch: **git checkout -b my-new-feature**
   - Make your changes to the code   - Make your changes to the code
Line 19: Line 20:
   - Do some more work, then repeat point 6. and 7.   - Do some more work, then repeat point 6. and 7.
   - Push your new changes to the remote repository via **git push** (note: the '-u origin my-new-feature' does not have to be repeated)   - Push your new changes to the remote repository via **git push** (note: the '-u origin my-new-feature' does not have to be repeated)
 +  - Use the GitHub interface at https://github.com/YOURNAME/cp2k to create a pull-request
 +
 +===== Update your copy of the master/rebase your patch =====
 +
   - To update the 'master' of your fork to the same state as the 'master' of the CP2K repository:   - To update the 'master' of your fork to the same state as the 'master' of the CP2K repository:
      - tell your local git repository once about the remote: **git remote add upstream https://github.com/cp2k/cp2k.git**      - tell your local git repository once about the remote: **git remote add upstream https://github.com/cp2k/cp2k.git**
      - make sure you are on the right branch: **git checkout master**      - make sure you are on the right branch: **git checkout master**
      - 'rebase' your current branch on top of the cp2k/cp2k master: **git pull %%--%%rebase upstream master**      - 'rebase' your current branch on top of the cp2k/cp2k master: **git pull %%--%%rebase upstream master**
-     push the changes: **git push** +   To update a branch with patches onto the updated master branch:
-  - You can also rebase your feature branch, in this case do the previous point and then:+
      - **git checkout my-new-feature**      - **git checkout my-new-feature**
-     - **git pull %%--%%rebase upstream master**, this may generate rebase/merge-conflicts you should resolve now. If you got lost, you can always use **git rebase %%--%%abort** (with Git 1.8 and newer) to revert the attempted rebase+     - **git rebase master**, this may generate rebase/merge-conflicts you should resolve now. If you got lost, you can always use **git rebase %%--%%abort** (with Git 1.8 and newer) to revert the attempted rebase
      - after a rebase of a branch with commits which was already pushed to a remote, you have to force-push: **git push %%--%%force**      - after a rebase of a branch with commits which was already pushed to a remote, you have to force-push: **git push %%--%%force**
 +
 ===== Submit the patch ===== ===== Submit the patch =====
  
dev/starting.txt · Last modified: 2022/12/16 09:27 by krack