Sharing Git Branches on Different Workstations: Difference between revisions

From Littledamien Wiki
Jump to navigation Jump to search
Line 52: Line 52:
* Sync up the master branch: `git pull origin master`
* Sync up the master branch: `git pull origin master`
* (optional) View the branches on the local network hub: `git remote show remote_alias`
* (optional) View the branches on the local network hub: `git remote show remote_alias`
* Create the working branch on the Windows workstation if it doesn't already exist.
* Sync up the working branch: `git pull remote_alias branch_name`
* Sync up the working branch: `git pull remote_alias branch_name`


== Notes ==
== Notes ==
<references />
<references />

Revision as of 04:40, 5 February 2016

Goal

Work on code changes on multiple workstations without pushing changes to central GitHub repo.

Workflow

Create a localized distribution that can be seen by the various workstations.

//myserver/develop/path/to/repo

This Git repo must be "bare" in order to accept pushes.[1]

> git clone --bare -l https://github.com/username/myrepo.git myrepo

Windows

Now on a separate windows workstation create a remote for that local hub:

> git remote add remotehubname x:\path\to\myrepo
> git push remotehubname master

Mac

Mount the shared directory where the hub repo is located.

# optionally create a remote for the local hub
$ git push /Volumnes/sharename/path/to/myrepo master

Migrating changes from a Mac workstation to a Windows workstation

  • ssh to the mac: ssh user@mac-name.local
  • (optional) Mount the shared network directory hosting the local git hub repo, if it is not already mounted.
    • sudo mount -t smbfs //user:password@server/share_name path/to/mount
    • The mount point must be an existing directory. It's necessary to create the directory before executing mount if the directory does not exist.
    • Working with the convention of creating mount points in the ~/remote/ directory.
  • cd to git repo directory
  • (optional) Create a remote for the local git hub if one does not already exist.
    • Check the existing remotes with git remote -v
    • Create remote with git remote add remote_alias path/to/remote/repo
  • Add any modified files to a branch that is not master.
  • Commit the branch.
  • Push the branch to the hub repo on the local network: git push remote_alias branch_name
  • Now on the Windows workstation it's possible to pull the changes in the working branch.
  • cd to the local git repo on the Windows workstation.
  • Sync up the master branch: git pull origin master
  • (optional) View the branches on the local network hub: git remote show remote_alias
  • Create the working branch on the Windows workstation if it doesn't already exist.
  • Sync up the working branch: git pull remote_alias branch_name

Notes