-
Notifications
You must be signed in to change notification settings - Fork 37
Home
[Series Analysis by lead time vs init time](Series Analysis by lead time vs init time)# References ##Python
##HWRF Python Scripting documentation:
##Released HWRF Scripts:
##Instructions/How-To's
- [Instructions for Initial Test (by someone other than Julie and Minna)](Documentation for Initial Test )
- [Original Code Layout](Original Code Layout)
- [Python Code Layout](Python Code Layout)
- [Activity Diagrams](Activity Diagrams)
- Sequence Diagrams
[Requirements from Meeting with Brian Colle on October 12, 2016](Requirements from Meeting with Brian Colle on October 12, 2016)
[Initial Logging Design](Initial Logging Design)
[Series Analysis by lead time vs init time](Series Analysis by lead time vs init time)
##GitHub Repository
- Fork a copy of the NCAR/METPlus code into your own GitHub repo, then clone from your GitHub repo to your local machine and make any changes.
- When you want to save your work in progress, you can check into your GitHub repo.
- When everything is working satisfactorily, you can do a pull request to the NCAR/METPlus repo.
Diagram outlining GitHub process for developers:
https://github.com/bikegeek/METPlus/blob/master/diagrams/GitHub_process.png
##Summary of Process:
- Keep the METPlus code in your repo in sync with the NCAR/METPlus code by doing the following:
-
Log into your GitHub account
-
Fork the NCAR/METPlus repository into your own GitHub repo/account
- Go to https://github.com/NCAR/METPlus and click on 'fork' button in the upper right hand corner of the page, indicate where you'd like to fork this
-
Clone your GitHub repo's METPlus code into your local host/work area:
-
mkdir then cd to directory where you wish to store this code
-
on the command line, enter 'git clone '
for example: git clone https://bikegeek/METPlus
-
now I have the METPlus code that I recently forked from the NCAR/METPlus repo under the directory
I created
-
-
Set up your GitHub repo to sync with the NCAR/METPlus repo by doing a remote add:
-
verify that you have your origin set to your GitHub METPlus repo by entering the following:
_git remote -v _ -
you should see something like the following:
origin https://github.com/bikegeek/METPlus.git (fetch)
origin https://github.com/bikegeek/METPlus.git (push)
git remote add upstream https://github.com/NCAR/METPlus -
perform git remote -v again, now you should see something like the following:
origin https://github.com/bikegeek/METPlus.git (fetch)
origin https://github.com/bikegeek/METPlus.git (push)
upstream https://github.com/NCAR/METPlus.git (fetch)
upstream https://github.com/NCAR/METPlus.git (push)
-
-
To incorporate any new changes from the NCAR/METPlus repo into your METPlus repo, enter the following from the
command line in your local working METPlus repo:-
git pull upstream master Aside: From an explanation on Stack Overflow:
git pull = git fetch followed by git merge _git fetch updates your remote-tracking branches under refs/remotes//. This _ _operation never changes any of your own local branches under refs/heads, and is safe to do _ without changing your working copy.... A git pull is what you would do to bring a local branch up-to-date with its remote version, while also updating your other remote-tracking branches.
-
-
Checking in your code to your local repo :
* git commit (then make comments following this convention)
* git push origin master (git push will suffice for subsequent pushes,
now your changes appear in your GitHub repo)
Push your change from your GitHub repo/local workspace to the upstream GitHub repo (NCAR/METPlus):
-
git push upstream master:
First line is what appears in the subject line, so make this a brief description
Skip a few lines and the second section is more detailed. A couple of sentences will suffice
Optional Third section (skip a few lines): Paragraph(s) of details
Useful Git References:
From James McCreight (WRF-Hydro team) this is a good write-up on best practices for collaboration on GitHub:
https://docs.google.com/document/d/1DxsViogPdA0uObHgNx4YFKd4ClC-m9UFcX0rO-ZJTY0/edit?pli=1#heading=h.g4dgc8a6erna
A good blog on a git branching model:
http://nvie.com/posts/a-successful-git-branching-model/