$ sudo dseditgroup -o create trader
Creating a shared git repository on local filesystem
TweetPosted on Sunday Mar 01, 2015 at 05:04PM in Git
Tested with OS X 10.9.5.
Requirement
There are 2 users (kyle and jenkins). they want to have a shared git repository named trader on local filesystem. both of them can push changes into the repository.
Recipe
- 
Create a group named
trader - 
Let join
kylenadjenkinsinto the grouptrader$ sudo dseditgroup -o edit -a kyle -t user trader $ sudo dseditgroup -o edit -a jenkins -t user trader
 - 
Create a bare repository
$ cd /Users/Shared $ mkdir trader.git $ cd trader.git $ git init --bare --shared
 - 
Change owning group of
trader.gittotrader$ cd ../ $ chown -R :trader trader.git
 - 
Make the repository writable by users in
tradergroup$ chmod -R g+w trader.git
 
Testing
- 
Clone the repository
$ git clone /Users/Shared/trader.git
 - 
Make first commit by
kyle$ cd trader $ echo 'hi there' > hi.txt $ git add hi.txt $ git commit -m 'first commit from kyle'
 - 
Push to the parent repository
$ git push origin master
 - 
Switch to user
jenkins$ sudo su - jenkins
 - 
Clone the repository
$ git clone /Users/Shared/trader.git
 - 
Make first commit by
jenkins$ cd trader $ echo hi there from jenkins >> hi.txt $ git add hi.txt $ git commit -m 'first commit from jenkins'
 - 
Push to the parent repository
$ git push origin master
 - 
Pull the change made by
jenkinsfrom userkyle$ whoami kyle $ cat hi.txt hi there $ git pull origin master $ cat hi.txt hi there hi there from jenkins
 
Tags: git