$ 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
kyle
nadjenkins
into 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.git
totrader
$ cd ../ $ chown -R :trader trader.git
-
Make the repository writable by users in
trader
group$ 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
jenkins
from userkyle
$ whoami kyle $ cat hi.txt hi there $ git pull origin master $ cat hi.txt hi there hi there from jenkins
Tags: git