You can have multiple remote repositories defined in your local working copy. Here's the list of my defined remotes on my Jena working copy:
> git remote -vv afs https://github.com/afs/jena.git (fetch) afs https://github.com/afs/jena.git (push) origin https://git-wip-us.apache.org/repos/asf/jena.git (fetch) origin https://git-wip-us.apache.org/repos/asf/jena.git (push) rvesse ssh://g...@github.com/rvesse/jena.git (fetch) rvesse ssh://g...@github.com/rvesse/jena.git (push) You can use git remote add <name> <url> to add additional remotes and various other git remote commands to manipulate these When doing certain remote operations - pull/push/fetch - then you just need to be more explicit about where to push/pull from. For example to push a new dev branch to my github clone: > git push -u rvesse <branch-name> Where <branch-name> is the local branch name you are wanting to push Or to pull a specific branch: > git pull <remote-name> This tries to pull updates for the given branch based on its locally set upstream branch, git branch -vv shows details of your local branches and their corresponding remotes: > git branch -vv JENA-1405 5937830 [rvesse/JENA-1405] Use better logging approach (JENA-1405) JENA-1407 9e2b4ce [rvesse/JENA-1407: ahead 1] Change degree of test parallelism (JENA-1407) JENA-1434 8df3702 [rvesse/JENA-1434] Minor fixes to new code (JENA-1434) JENA-1486 0eeb40d [rvesse/JENA-1486] Make sure to use datasets transactionally (JENA-1486) JENA-1497 44683c4 [rvesse/JENA-1497] Rename test cases and fix warnings (JENA-1497) JENA-507 77a69f1 [origin/JENA-507: gone] Merge branch 'master' into JENA-507 JENA-541 cbc2dc2 Initial work on custom headers for SPARQL Updates (JENA-541) JENA-893 3ab3138 More experimentation with splitting BZip2 inputs jena-db-testing 10441d7 [afs/jena-db-testing] Check .delete() in beforeTest jena2 9bc5aa9 [origin/jena2] Yet more fixes and test cases for assignment inlining (JENA-780) * master 2e732b4 [origin/master: behind 2] Merge branch 'JENA-1497' obfuscate 08bdbc3 [rvesse/obfuscate] Add naive obfuscation provider Or: > git fetch --all > git pull <remote-name>/<branch-name> And merging a specific remote branch: > git fetch --all > git merge <remote-name>/<branch-name> Similarly to checkout a specific remote branch locally: > git fetch --all > git checkout -B <branch-name> --track <remote-name>/<branch-name> You just need to be a little careful about doing pull/push without being explicit about the target remote as otherwise you'll go to/from the default (usually origin) which may not always be desired Rob On 19/03/2018, 10:31, "Claude Warren" <cla...@xenei.com> wrote: What process are you using to keep your working copy of Jena (assuming you have a clone on github) from the true master copy of Jena such that you can create pull requests from you copy and merge them into the master. So far the only way I have found to do this is to keep 2 copies of the code in 2 different local git repositories. the first I pull from master, update, test, etc. check into my version on github, generate a pull request from there. The second is the master from apache git where I pull the code down, and perform the merge from my github version. Is there another way to do this? Claude -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren