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
    




Reply via email to