On 9 May 2018 at 08:10, Brian May via luv-main <[email protected]> wrote:
> Russell Coker via luv-main <[email protected]> writes:
>
>> It seems that I have to create the master repository with "git init --bare" 
>> and then push
>> from the slave after adding a file.  Adding a file on the master is also 
>> apparently a bad
>> idea.
>
I think that  a shared repository (where every one commits changes to)
is not meant to have local (unchecked in) changes as it makes things
messy.
There are several styles of managing shared work - if you want several
checkouts synching in at different times - one common bare repository
makes this simpler to agree on the official version. But you can have
multiple trees - then usual style is to have a tracking branch for
each tree.

Each person can then merge in via their tracking branch and when up to
date (like subversion) and then push their changes to that tree.
One style is each feature is a separate branch with developers
committing to that feature branch. As features stabilise some one will
merge that
branch into a stable branch for testing / release.

git is *much* faster than subversion and handles very large packages
like the kernel.
It also allows you to re-write your history (unlike subversion) and
handles multiple simultaneous threads of history which can be merged
together and preserve their separate time lines unlike subversion.

I've used both subversion and git and despite some painful learning I
much prefer git. It is worth persevering with - but take it in steps.
It's really worth understanding that it uses hashes to index the code
snapshots - which makes it vastly faster to see if two
directories/files are changed.

Andrew
_______________________________________________
luv-main mailing list
[email protected]
https://lists.luv.asn.au/cgi-bin/mailman/listinfo/luv-main

Reply via email to